我正在使用DirectShow.Net将网络摄像头流式传输到我的C#(4.0)应用程序以读取QR码.它每隔0.5秒拍摄一次快照,看它是否可以找到任何QR码并对其进行解码.这在我的开发计算机上运行得很好,无论我可以获得我的网络摄像头,但是当我在目标机器(松下CF-U1 Toughbook - 英特尔凌动处理器)上试用它时,当我进入更高的分辨率时它真的开始陷入困境在网络摄像头上比800x600.
我正在使用DirectShow.Net DxSnap示例(名称空间快照)中的Capture类.我正在传递一个Picturebox来绘制预览.我很确定这是在困扰系统的原因(猜测视频卡不能完成任务).我需要绘制预览(因此用户可以看到他们正在尝试扫描的内容),但它不必与查找QR代码的图片具有相同的分辨率.由于此程序是针对具有低屏幕分辨率的设备而制作的,因此预览框的最大值为320 x 240(我会根据相机上选择的分辨率调整宽高比).
所以我猜我正在寻找的是以下任何一种:
从同一网络摄像头获取两个流的方法,一个在低分辨率下进行预览,另一个在高分辨率下进行捕捉
相当于它的东西,可能会在它被写入图片框之前降低分辨率(再一次,使用来自DirectShow.Net项目的DxSnap示例中的Capture类)
一种保持图片框不被刷新的方法
DirectShow.Net以外的东西用于此类事情(它必须适用于桌面空间中从Windows XP到Windows 8的所有内容).
谢谢你的帮助.