#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat M = imread("C:\\Users\\35749\\Desktop\\6371792571005.jpg");
Mat image;
Canny(M, image, 50, 200, 3);
imshow("Display window", image);
system("pause");
return 0;
}
在visual studio中,以上看似正常的一段代码,却显示不出图片,图片框一直呈纯灰色,鼠标一直呈忙碌状态转圈;
把system("pause")换成waitKey(0)也不起作用,图片框不但全灰,而且不再停留,只是一闪而过。
查了半天,才发现原来是需要开一个新的窗口来显示图片!用namedWindow()函数。(system("pause")函数也要替换掉,看来它在opencv显示图片中不适用)如下:
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat M = imread("C:\\Users\\35749\\Desktop\\6371792571005.jpg");
Mat image, Mg;
Canny(M, image, 50, 200, 3);
namedWindow("Display window",WINDOW_AUTOSIZE);
imshow("Display window", image);
waitKey(0);
return 0;
}