我正在使用 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/