C++版openCV waitKey(0)失效的解决办法
2017-11-28 19:30
1721 查看
问题描述
今天遇到了一个问题,使用opencv读取一张图像并显示,Build然后F5。不知未何,图像窗口一闪而过。明明加上了waitKey(0)呀,至少应该等我按键才会结束的嘛,Ctrl + F5依然不行。为何会这样?#include<opencv2\opencv.hpp> using namespace cv; int main() { Mat image = imread("c:\\users\\like\\pictures\\图片2.tif"); imshow("original", image); waitKey(0); return 0; }
更新解决办法
今天同样的问题再次出现了,并且比上次来的更加凶猛,原来是根本问题没有解决!在StackOverflow上提问, 得到大神指点。发现是我的环境配置有问题。
虽然更新之前说的文件编码是错误的,导致文件找不到的问题。但现在看来,这不是主要问题,主要问题是配置问题。
This problem is due to wrong linking settings:
In Debug, you need to link only to the debug library opencv_world331d.lib
In Release, you need to link only to the release library opencv_world331.lib
现在去更新之前写的opencv配置的博客:openCV3.X+VS2015+Windows10环境配置详解
解决办法
按照autocyz的文章:opencv中waitkey(0)不起作用,加上system(“pause”)也没有解决问题。窗口没有消失,也没有显示图像内容。但是图像弹窗的标题是乱码的,命令行提示size<0,推测可能是代码文件的编码方式有问题导致没有找到图像,不是utf-8,不属于编译器默认的文件编码格式。使用notepad++打开test.cpp,点击菜单中【编码】,发现该文件的编码方式是【UTF-8无BOM格式编码】,点击下面的【UTF-8格式编码】,即刻修改为正常的utf-8的格式。可能代码中的中文需要重新输入才能解决问题。
python中可能出现的问题
抛开代码格式问题不谈,opencv显示图像的窗口可能卡死,这是因为没有加上waitKey()导致的。StackOverflow上也有人发布了waitKey不起作用的问题:Opencv python. WaitKey don’t respond?
import cv2 img = cv2.imread('347620923614738322_233985812.jpg') cv2.namedWindow("window") cv2.imshow("window", img) cv2.waitKey(0)
给出的解决方案是加上destoryAllWindows()
# -*- coding: utf-8 -*- # Objectif : découvrir le fonctionnement d'opencv-python # http://opencv-python-tutroals.readthedocs.org/en/latest/index.html import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('Lena.tiff',0) WINDOW_NAME = 'Image de Lena' cv2.namedWindow(WINDOW_NAME, cv2.CV_WINDOW_AUTOSIZE) cv2.startWindowThread() # Display an image cv2.imshow(WINDOW_NAME,img) cv2.waitKey(0) cv2.destroyAllWindows()
相关文章推荐
- 关于loose.dtd和xhtml1-transitional.dtd等文档类型定义模型中CSS失效的解决办法。
- Eclipse自动提示功能失效(ctrl + /)解决办法
- 虚拟机磁盘移动位置后失效解决办法
- IE6下line-height失效:当文字与图片img在同一行中显示时line-height失效的解决办法
- Ubuntu桌面图标消失且右键失效的解决办法
- Android约束布局ConstraintLayout动态设置Id失效问题解决办法
- updatePanel导致JS失效的解决办法
- VS2012 扩展和更新里 插件状态 为禁用 的解决办法(解决Visual Assist X 和Imagewatch 失效)
- Eclipse Ctrl+Alt 快捷键失效,解决办法
- asp.net下的CSS失效解决办法
- el表达式eq == 失效的问题解决办法
- IE6中line-height属性失效的解决办法
- line-height 在IE6 下失效的问题 解决办法(已经亲手验证)
- JAVA_HOME环境变量失效的解决办法
- Spring Ibatis父子容器事务失效解决办法
- 今天使用PullToRefreshListView时遇到Item点击事件失效问题,特此记下解决办法
- 【转】升级Xcode6.3插件失效解决办法
- android ListView上有checkBox、button时导致onListItemClick方法失效的解决办法
- windows下IE中可能出现的文档样式短暂失效的解决办法
- 解决response.write()css失效的问题办法