首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在程序运行过程中图像窗口没有响应opencv

在程序运行过程中图像窗口没有响应opencv
EN

Stack Overflow用户
提问于 2016-08-11 18:42:09
回答 1查看 917关注 0票数 0

我正在运行类似的代码;

代码语言:javascript
运行
复制
Mat img1 = imread("C:\\input0.png");


namedWindow("original");
imshow("original", img1 );


int lowThreshold = 20;
int ratio = 2;
int kernel_size = 5;
Mat edge_map;
Mat gray_image;
cvtColor(img1, gray_image, CV_BGR2GRAY);
Canny(gray_image, edge_map, lowThreshold, lowThreshold*ratio, kernel_size);

namedWindow("Edge Image");
imshow("Edge Image", edge_map);

Mat result_image = produce_the_result_image(img1, edge_map);

namedWindow("Final Image");
imshow("Final Image", result_image );

int key = 1;
while (key != 'q') {
    key = waitKey(5);
}

直到显示最后一个图像(最终图像窗口),其他窗口显示“无响应”,但在最后一个函数(produce_the_result_image)结束后(持续2-3分钟并显示所有图像窗口),错误将消失。这正常吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 18:53:47

OpenCV中的图像在调用waitKey();之前不会显示或响应。因此,如果在调用imshow的前两次调用waitKey(1);之后,图像将显示(它将等待一毫秒的按键,然后就会变得没有响应)。如果您调用没有参数的waitKey();,或者使用类似于代码末尾的while循环,图像将显示和响应。一旦你按下一个键,图像就会再次失去响应。

所以是的,这是OpenCV的正常行为。请注意,它同时应用于所有窗口:如果当前正在调用waitKey,则所有窗口都是响应的,或者它们都没有响应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38903940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档