我在 visual studio 中使用 OpenCV 3.3.0 for c++。问题是,当我使用这段代码时,它会打开两个同名窗口,其中一个包含图像,另一个是额外的空窗口。 ( Screenshot from the two windows )
cv::Mat im0 = cv::imread("C:\\Users\\MY_PC\\Desktop\\Image.bmp"); //read the image
cv::resize(im0, I, cv::Size(640, 480), 0, 0, CV_INTER_LINEAR); //Resize the image to 640x480
cv::namedWindow("HI");
cv::imshow("HI", I);
cv::waitKey(0);
这个问题之后更重要的问题是 waitkey()
函数只适用于额外的窗口,我应该按下该窗口上的键以查看另一个窗口中的变化。
此外,setMouseCallback
也有同样的问题,鼠标命令在包含图像的窗口上不起作用。非常感谢。
最佳答案
我对项目类型“Win32 Console Application”有同样的问题。 如果您使用“空项目”,问题就会消失。
关于c++ - Opencv C++为每个imshow打开两个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49667091/