Windows OpenCV未正确读取图像
我正在尝试读取图像并使用Windows OpenCV未正确读取图像,windows,visual-studio-2010,opencv,Windows,Visual Studio 2010,Opencv,我正在尝试读取图像并使用OpenCV-2.4.10显示该图像。我以前读过好几次这张图片,从来没有遇到过任何问题。现在,我正在尝试使用VS2010中的OpenCV-2.4.10读取相同的图像,但由于某些原因,无法正确读取该图像 代码: Mat img = imread("D:/image.jpg",CV_LOAD_IMAGE_COLOR); Mat org = img.clone(); std::cout<<"\nChannels: "<<img.channels();
OpenCV-2.4.10
显示该图像。我以前读过好几次这张图片,从来没有遇到过任何问题。现在,我正在尝试使用VS2010中的OpenCV-2.4.10读取相同的图像,但由于某些原因,无法正确读取该图像
代码:
Mat img = imread("D:/image.jpg",CV_LOAD_IMAGE_COLOR);
Mat org = img.clone();
std::cout<<"\nChannels: "<<img.channels();
std::cout<<"\Type: "<<img.type();
imshow("GNGGraph1",img);
Mat img=imread(“D:/image.jpg”,CV\u LOAD\u image\u COLOR);
Mat org=img.clone();
std::Coutar您确定,您正在绘制img
,而不是testImg
?类型16不是指16位,而是指3通道8位。例如,比较一下。我会检查图像的min/max/mean/sd以查看实际发生的情况。在调用imshow
之后,我看不到。从文档中可以看出:“此函数是HighGUI中唯一可以获取和处理事件的方法,因此需要定期调用它以进行正常的事件处理,除非HighGUI在负责事件处理的环境中使用。”我也会猜到缺少waitKey(1)@米卡,@Dan:我确实有cvWaitKey(0)
,但是在几行之后(就在返回0
之前)。但一旦我将waitKey(0)
放在imshow()
行旁边,它就起作用了。waitKey必须位于要渲染/显示图像的位置/之前。