В общем проблема была в том, что cvWaitKey не работает без окон вызванных средствами OpenCV.
А без cvWaitKey все формы виснут. Да и не только формы. Если тупо в цикл выводить картинку:
while (true)
cvShowImage("Image", image);
то вместо картинки мы будем видеть серый экран, приходится добавить cvWaitKey(1);
while (true)
{
cvShowImage("Image", image);
cvWaitKey(1);
}
но можно использовать для этой цели вот это: (собсно обработка сообщений в том числе и происходит в cvWaitKey)
MSG message;
PeekMessage(&message, 0, 0, 0, PM_REMOVE);
TranslateMessage(&message);
DispatchMessage(&message);