c++ - 使用 OpenCV 和 Qt 显示图像的奇怪行为

标签 c++ c qt sockets opencv

我正在使用 OpenCV C API 从 Cam 捕获图像并使用 TCP 套接字发送它们。

服务器正在运行 C++ (QT) 并接收帧。

进程运行良好,我可以在服务器上看到图像。

奇怪的问题是当我关闭两个程序并重新运行客户端和服务器时,我可以再次看到我在之前测试中看到的前一帧。

如果我再次关闭这两个程序并重新运行它们,我可以看到一个新的框架而不是第二个框架,并且该过程继续。

为了更清楚:

capture1, close, cap1, close, cap3, close, cap3, close, cap5 ......etc

我以前没见过这样的东西!

最佳答案

我之前遇到过同样的问题。

帧大小相当大,你以随机方式从缓冲区读取(只是猜测),你必须在相机和 OpenCV 之间制作一个计时器或确认。

只需尝试控制相机捕获帧的方式即可。

关于c++ - 使用 OpenCV 和 Qt 显示图像的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14246852/

相关文章:

c++ - 何时在多线程中使用 volatile?

c++ - 我不明白的指针函数;(

c - 在 C 中将主文件拆分为模块

qt - Qt-在应用程序关闭时同步SQLite数据库

database - QSqlDatabase & QSqlQuery 的正确方法是什么?

c++ - 将对象指针转换为 char 数组

c++ - 在由形成凸四边形的 4 个点定义的一组 6 个线段中查找对角线的算法

c - 指针的 scanf 函数不起作用(对于使用指针到指针的矩阵)

c - 修剪二叉树数据c

c++ - 将 Makefile 选项添加到 qtcreator 项目中