急求:
    如果每帧的处理时间比获取帧的时间长,也就是说你再一次获取到帧的时候你上一帧图像还没有处理完,这会如果调用回调函数处理的话应该是不行的吧···
    用什么方法好?怎么做?
    我用得工业摄像头,有自带的sd看···

解决方案 »

  1.   

    这得看sdk给你提供了哪些接口啥的,比如,是否有帧处理完毕事件通知等,好好看看sdk帮助吧。
      

  2.   

    sdk自带的有像opencv里的cvQueryFrame和回调函数等,都是一样的···其他的就没有了
      

  3.   

    优化你自己的算法,减少运算负荷,一般视频分析软件实时要求都很高,要很仔细优化来减少运算时间的,也可以考虑用DSP啊
      

  4.   

    楼主可以创建一个专用的处理线程,并使用WaitForSinglaObject来与主线程形成互斥,主线程负责将图像数据保存到处理缓存p_Buffer(可以是数组指针)中,以及对每帧图像的显示,而处理线程主要负责p_Buffer中的图像数据的处理。主线程和处理线程形成互斥的主要好处是他们不会同时读/写p_Buffer中的内容,这样确保每次处理线程处理的p_Buffer中的图像数据为完整的数据,保证线程数据的安全。但是由于不同的处理器有不同的处理速度,加上处理线程算法的复杂程度不一,p_Buffer可能在主线程中被写入了几次才被线程处理一次,但最终的结果是,对一段时间的视频流,既能每帧平滑显示,又能尽可能多地处理图像数据。关于互斥线程可以到网上找找示例。但如果楼主非要每帧处理,只能用楼上以及楼上上的方法来解决了
      

  5.   

    先缓冲再处理。一般处理这个都是专用CPU