我使用zxing.net库(http://zxingnet.codeplex.com/)构建了一个UWP XAML控件,它充当条形码/qrcode扫描器。这个控件运行良好,它可以在设备上预览摄像头,然后捕获帧并让zxing对其进行处理。用户所要做的就是将其放在页面中,并告诉它要扫描哪种类型的条形码。
我只面临一个问题:如何将扫描区域限制在捕获帧的中心?有时图像中有多个条形码,库返回其中一个条形码的结果,但我对位于帧中间的条形码感兴趣。
使用zxing.net可以做到这一点吗?如果是这样,我如何限制扫描区域?
发布于 2016-08-22 19:29:09
我不知道你用的是什么代码。但是我可以根据我的UWP barcode scanner给出一个提示
在CapturePhotoFromCameraAsync()任务中,你可以找到从摄像头获取“截图”帧的代码:
VideoFrame videoFrame = new VideoFrame(BitmapPixelFormat.Bgra8, (int)_width, (int)_height);
await mediaCapture.GetPreviewFrameAsync(videoFrame);您可以将SoftwareBitmap和eben转换为WritableBitmap。
SoftwareBitmap sb = videoFrame.SoftwareBitmap;
WriteableBitmap bitmap = new WriteableBitmap(sb.PixelWidth, sb.PixelHeight);但现在还有另一个问题,如何裁剪WriteableBitmap (你可以在SO或MSDN上找到解决方案--这并不短),以及如何转换回SoftwareBitmap。
https://stackoverflow.com/questions/39053561
复制相似问题