namedWindow () вызывает сбой в opencv 2.3.1? (Затмение + MinGW на XP, C ++)
Наконец-то мне удалось заставить opencv 2.3.1 работать с eclipse, mingw и 32-битной XP. Я приведу руководство, когда все работает, так как я не смог найти его для этого набора инструментов.
Проблема в том, что любая попытка показать результаты в окне вызывает необработанное исключение. Изображения сохраняются нормально, и я смог запустить ядро Sobel на них, так что все остальное выглядит нормально. Кажется, что происходит сбой при вызове namedWindow.
Я включаю libopencv_core231, libopencv_highgui231, libopencv_imgproc231 и libopencv_legacy231 с компоновщиком.
Вот код:
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace cv;
int main(int argc, char **argv)
{
std::cout<<"Hello"<<std::endl;
//Create image
Mat lena, lenasobel;
//Load lena image
lena = imread("C:\\lena.jpeg");
if(lena.data)
std::cout<<"File has "<<lena.cols<<" rows and "<<lena.rows<<" columns. "<<lena.channels()<<" channels."<<std::endl;
if(!lena.data)
std::cout<<"File Not Read."<<std::endl;
lenasobel=lena.clone();
Sobel(lena,lenasobel,lenasobel.depth(),1,1,3);
std::vector<int> jpg_type;
jpg_type.push_back(100);
jpg_type.push_back(CV_IMWRITE_JPEG_QUALITY);
imwrite("C:\\lenaout.jpeg",lenasobel,jpg_type);
//Save works!
namedWindow( "lena" , CV_WINDOW_AUTOSIZE);
imshow( "lena" ,lena);
return 0;
}
У кого-нибудь есть какие-либо идеи? Я не уверен, что делать дальше!