Ben*_*nji 8 .net webcam qr-code directshow.net c#-4.0
我正在使用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的所有内容).
谢谢你的帮助.
我的应用程序当前捕获图像的分辨率与用户看到的视频的分辨率不同。我这样做是因为我使用的网络摄像头 (Logitech C920) 有一个 Capture 引脚和一个 Still 引脚,它们具有不同的视频格式列表。我能够独立获取每个引脚的一组分辨率,并更改我需要的分辨率。我的应用程序只关心 Still 引脚的分辨率,因此我更改了该分辨率,而 Capture 引脚始终保持在 640 x 480。我相信 SmartTee 应该可以做类似的事情,而不需要 Still pin,但我不是 DirectShow 专家,所以其他人需要向您填写这些信息。