首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么OpenCV (@ Banana,Raspbian)中的全屏幕窗口分辨率会减慢摄像机的速度,让它滞后呢?

为什么OpenCV (@ Banana,Raspbian)中的全屏幕窗口分辨率会减慢摄像机的速度,让它滞后呢?
EN

Stack Overflow用户
提问于 2014-10-03 11:44:17
回答 2查看 1.8K关注 0票数 1

目前,我正在做一个项目,把相机镜像成盲点。摄像机接收到640×480 NTSC信号。输出屏幕为854x480 NTSC。我用一个EasyCAP视频抓取器抓取相机。在香蕉Pi上我安装了打开的cv 2.4.9。

这个项目的关键点是显示上的视频需要实时。每当我评论把窗口变成全屏的行时,就会弹出一个小窗口,画面就会立即播放。但是当我把视频设置为全屏时,画面就变慢了,而且滞后了。

守则的一部分:

代码语言:javascript
复制
namedWindow("window",0);
setWindowProperty("window",CV_WND_PROP_FULLSCREEN,CV_WINDOW_FULLSCREEN);

while(1){
        cap>>image;
        flip(image, destination,1);
        imshow("window",destination);
        waitKey(33); //delay 33 ms
    }

我怎样才能在不失去速度和帧的情况下,用镜头填充屏幕呢?有可能直接将镜头输出到复合输出中吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-20 10:00:05

我通过使用:带标志1的namedWindow("window",1);表示WINDOW_AUTOSIZE解决了整个问题。录像现在更真实了。我使用的是一个小监视器,因此窗口大小与监视器几乎相同。

票数 0
EN

Stack Overflow用户

发布于 2014-10-03 12:20:30

问题是,升级和绘图是在这里的软件。香蕉Pi处理器不够强大,无法以每秒30帧的速度处理所需的吞吐量。这是我的猜测,因为即使是桌面系统在处理和同时显示视频时也会遇到滞后问题。

解决此问题的一个常见的解决方案是使用OpenGL进行显示。在这里,升级和显示被卸载到图形处理器。你也可以在香蕉皮上做同样的事。

如果您使用OpenCV支持编译OpenGL,您可以这样做:

代码语言:javascript
复制
namedWindow("window", WINDOW_OPENGL);
imshow("window", destination);

注意,如果使用OpenGL,还可以使用近似模型视图矩阵保存翻转操作。然而,要做到这一点,您可能需要自己研究GL代码,而不是使用imshow。

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

https://stackoverflow.com/questions/26178361

复制
相关文章

相似问题

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