cvShowImage(img);
cvWaitKey(0);
Убедитесь, что есть второе утверждение, иначе изображение не будет перерисовано.
Также обратите внимание, что если ваше изображение черное и пустое, то cvShowImage
покажет вам черное и пустое изображение. Это не значит, что он сломан - скорее всего, проблема в том, как вы загружаете / манипулируете изображением. Трудно сказать больше, не глядя на ваш исходный код.