opencv掩模图像是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv掩模图像是啥意思相关的知识,希望对你有一定的参考价值。

参考技术A 通过掩膜可以从一张原始图中截取自己想要的部分,其他区域变为黑色

在 OpenCV 中 waitKey (30) 是啥意思? [复制]

【中文标题】在 OpenCV 中 waitKey (30) 是啥意思? [复制]【英文标题】:what does waitKey (30) mean in OpenCV? [duplicate]在 OpenCV 中 waitKey (30) 是什么意思? [复制] 【发布时间】:2012-09-17 01:20:27 【问题描述】:

可能重复:OpenCV - cvWaitKey( )

我要过滤视频帧。

for(;;)

cap.read( frame);
medianBlur(frame,framedst,5);
imshow("frame",frame);
imshow("framedst",framedst);    
if( waitKey (30) >= 0) break;

waitKey(30) 是什么意思?因为如果我注释掉if( waitKey (30) >= 0) break;这一行,上面的代码就不行了!

【问题讨论】:

This question 询问waitkey,我相信答案解释了为什么您的imshow 不起作用。引用答案,opencv 新手的一个常见错误是通过视频帧循环调用 cv::imshow(),而不使用 cv::waitKey(30) 跟踪每次绘制。在这种情况下,屏幕上不会出现任何内容,因为 highgui 从来没有时间处理来自 cv::imshow() 的绘制请求。 没错,我不怎么用OPENCV @chris 当我使用网络摄像头作为输入时,我不必调用 waitKey。但是系统肯定会因为在太短的时间内显示太多而感到困惑。 【参考方案1】:

函数waitKey() 等待按键事件“延迟”(此处为 30 毫秒)。正如OpenCV documentation 中解释的那样,HighGui(imshow() 是 HighGui 的一个函数)需要定期调用 waitKey,以处理其事件循环。

也就是说,如果你不调用waitKey,HighGui不能处理windows事件,比如重绘、调整大小、输入事件等。所以只要调用它,即使有1ms的延迟:)

【讨论】:

我知道了,感谢您的快速回答。 那么这意味着 cWaitkey () 在 30 毫秒后与捕获图像没有任何关系。它必须等待并在显示窗口上显示图像。 对于waitKey,我发现在Windows 上超时后它会返回-1 的假设有时是错误的——相反它会返回255。许多常见代码几乎立即退出它们的主循环。看来这个跨平台问题的解决方案是改用waitKeyEx

以上是关于opencv掩模图像是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

opencv掩模操作

youcans 的 OpenCV 例程200篇179.图像分割之 GrabCut 图割法(掩模图像)

OpenCV 完整例程18. 图像的掩模加法

opencv的基础操作和矩阵的掩模操作

OpenCV基本功 之 图像的掩模运算 & 合并专题 -小啾带学Python-Open_CV系列

youcans 的 OpenCV 例程200篇189.基于掩模的拉普拉斯金字塔图像融合