imshow視窗不顯示
阿新 • • 發佈:2018-12-01
1.問題描述
我在一次使用OpenCV3.2.0(Win10 VS2015 Debug x64 )的過程中,發現imshow函式呼叫視窗不顯示(waitKey函式已新增)。
如圖1所示,只有工作列圖示,不顯示視窗。
2.問題分析
可能是函式呼叫問題,問題最簡化(使用最簡單的表達方式逐步接近問題)。
這裡是函式命名、引數最簡化。
3.問題解決
這裡是imshow函式的視窗名稱字元之間不能有空格。
4.程式碼對比
修改前:
#include<opencv2\opencv.hpp>
using namespace cv;
int main(void)
{
//para
Mat srcImg;
string path, strWin;
//init
path = "leaf.jpg";
strWin = "SOURCE IMAGE";
//read
srcImg = imread(path, CV_LOAD_IMAGE_UNCHANGED);
if (srcImg.empty())
{
return -1;
}
//display
namedWindow(strWin, CV_WINDOW_NORMAL);
imshow(strWin, srcImg);
waitKey(0 );
return 0;
}
修改後:
#include<opencv2\opencv.hpp>
using namespace cv;
int main(void)
{
//para
Mat srcImg;
string path, strWin;
//init
path = "leaf.jpg";
strWin = "SOURCE_IMAGE";
//read
srcImg = imread(path, CV_LOAD_IMAGE_UNCHANGED);
if (srcImg.empty())
{
return -1;
}
//display
namedWindow(strWin, CV_WINDOW_NORMAL);
imshow(strWin, srcImg);
waitKey(0);
return 0;
}