以文本方式查看主题

-  机器视觉技术论坛|工业图像处理技术论坛  (http://www.jqsj.com/forum/index.asp)
--  【大恒图像采集卡】  (http://www.jqsj.com/forum/list.asp?boardid=7)
----  [求助]linux系统下QP300抓图慢  (http://www.jqsj.com/forum/dispbbs.asp?boardid=7&id=3545)

--  作者:w0911h
--  发布时间:2009-7-30 12:45:19
--  [求助]linux系统下QP300抓图慢

我在fedora8下开发的路口抓拍系统,linux版本是2.6的,调用dh2_MCaptureOne()函数抓图一张图要120ms左右,这个速度不能满足我的要求,我用另一牌子的卡试验只要40到60ms,请问这是什么原因,有什么好的解决办法

另外,我想知道dh2_MGetNextFrame()函数的工作原理,调用一次该函数后返回当前已采集到的一帧数据并开始采集下一帧,但如果我两次调用此函数的间隔很短,下一帧数据还没有采集完成,此时该函数会如何处理,是否会等待数据采集完成然后返回,还是直接返回,如果直接返回,返回值是什么,请高手指教

[此贴子已经被作者于2009-7-30 14:33:25编辑过]

--  作者:菜鸟
--  发布时间:2009-8-5 9:13:35
--  
没有在linux开发过。fedora8是什么?采集卡?
--  作者:w0911h
--  发布时间:2009-8-10 14:54:17
--  
以下是引用菜鸟在2009-8-5 9:13:35的发言:
没有在linux开发过。fedora8是什么?采集卡?

fedora8是linux版本


--  作者:菜鸟
--  发布时间:2009-8-13 9:31:30
--  
我建议不要用dh2_MCaptureOne()函数来抓取图像,而是使用连续抓取图像状态,单你需要抓取一帧时,从连续抓取图像的buffer中拷贝一幅当前的图像就可以了,并且使用双buffer方式。这样准确,高效。
--  作者:菜鸟
--  发布时间:2009-8-13 9:37:33
--  
以下是引用w0911h在2009-7-30 12:45:19的发言:

另外,我想知道dh2_MGetNextFrame()函数的工作原理,调用一次该函数后返回当前已采集到的一帧数据并开始采集下一帧,但如果我两次调用此函数的间隔很短,下一帧数据还没有采集完成,此时该函数会如何处理,是否会等待数据采集完成然后返回,还是直接返回,如果直接返回,返回值是什么,请高手指教


函数一般有异步和同步两种方式,你可以测试一下该函数的执行时间,如果很短,比如几个毫秒,应该是一种异步工作模式,否则为同步方式。如果是同步方式,采集的应该是下一帧。