En una ventana de "DOS" ejecuta
gcc --version para que te aparezca la version que estas utilizando
Si te fijas, cambie la declaracion de la funcion
main que tenias por esta:
int main(int argc, char** argv)
Con esto haces posible que el programa reciba parametros.
argc contiene el total de parametros que se enviaron.
argv es un arreglo de cadenas que contiene los parametros.
argv[0] siempre va a ser el nombre del programa que estas ejecutando. Yo lo modifique para poder enviar el nombre de la imagen que queria leer. Por eso en
cvLoadImage lo cambie para que lea la imagen que envie como parametro