OpenCV3读入图片,imshow无法显示的问题
程序员文章站
2022-05-20 22:10:09
...
关于OpenCV3中读入图片后,显示为灰色的问题
环境:OpenCV 3.4.1 +VS2015+Windows x64
注意:根据其他博文的说法,VS2015与OpenCV v14版本对应,所以配置环境时请注意。
先上图看一看是什么情况吧:
本人在网上看了很多博文以后,发现普遍的解释是:图片未找到,图片读取失败等,针对于此问题,本人做了如下尝试:
Mat srcImage = imread ("1.jpg");
if ( srcImage.empty() )
{
std::cout << "图片读取失败!" << "\n";
return -1;
}
imshow ("show", srcImage);
当然,如果是图片路径错误,有两种方式:① 改成绝对路径;② 将资源放在.cpp文件同目录下,即可直接使用文件名读取资源。
既然不是读取的问题,就是其他问题,终于发现是sysem(“pause”)的问题,换成waitkey(0)就好了。
waitKey(int delay=0)函数,函数功能:
- 按下键的时候,焦点要落在窗口上,不能落在cmd窗口上;
- 必须在有窗口显示的情况下,waitKey才有作用,否则无效。比如调用cv.waitKey(0),如果此时没有活动的窗口,该函数立刻返回-1;
- waitKey()函数的功能是不断刷新图像,频率时间为delay,单位为ms,延时delay > 0 函数返回值为按下的键的ASCII码值,超时则返回-1。;
- 返回值为当前键盘按键值;
- 如果delay<0,等待时间无限长,返回值为按键值;
- 经常程序里面出现 if( waitKey(10) >= 0 ) 是指10ms内按任意键进入此 if 块;
推荐阅读
-
Vue动态加载图片在跨域时无法显示的问题及解决方法
-
解决python opencv无法显示图片的问题
-
阿菊的OpenCv(一)——imshow()无法弹出窗口,imshow()弹出窗口无法显示图片且一直显示未响应...盘点自己一路的辛酸历程!
-
asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法
-
解决python matplotlib imshow无法显示的问题
-
解决java Graphics drawImage 无法显示图片的问题
-
IIS无法显示中文名称图片问题的解决方法
-
Vue动态加载图片在跨域时无法显示的问题及解决方法
-
Python关于PIL的Image.show()无法正常显示图片问题
-
html关于上一个360浏览器无法显示背景图片的问题_html/css_WEB-ITnose