electricwater 2017-10-15 03:55 采纳率: 0%
浏览 8922
已结题

opencv videocapture以rtsp读取网络摄像头时的问题

opencv videocapture以rtsp读取网络摄像头时,如果没网,程序就许停在那,什么都不干,既不会中断,也不会报错,也不往下执行,试过判断读取是否为空,但是在读取的时候就不往下执行了,根本没法判断,求助!!!

  • 写回答

3条回答 默认 最新

  • Saeba 2017-10-15 07:35
    关注

    原因是 videocapture 裡頭有個 thread (A: consumer thread) 會一直去讀 buffer 裡面的資料, 即使沒網, 該 thread 還是會一直讀去舊資料, 所以不會報錯. 另外一個 thread (B: worker thread) 會在 driver 當中註冊一個 callback fucntion 定時把資料丟向 buffer 會從
    buffer 當中, 此時 buffer 內的資料會被一直覆蓋.

    你該做的事情有兩個. 在條件判斷中新增, 是否有網路存在. 如果沒有, 就要修改 thread A flag 參數, 讓他停下來. 另一件事是預防萬一, 要把讀進來的 buffer, 做 bit-by-bit 比較. 如果都一模一樣, 超過一秒鐘 (一秒種 30 fps, 比對 30 次) 就該修改 thread A flag 參數, 使他停下來.

    希望對你有幫助 !!

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试