【发布时间】:2020-09-02 13:55:56
【问题描述】:
我在将 Zxing 库与 openCvSharp 集成时遇到问题。我正在尝试使用相机实时读取条形码。
它在给出的Result result = barcodeReader.Decode(test); 行抛出异常;
System.InvalidOperationException: 'You have to declare a delegate which converts your byte array to a luminance source object.'
如果有人有任何解决方案、建议或想法,我将不胜感激! 完整代码为:
static void Main(string[] args)
{
VideoCapture capture = new VideoCapture(0);
LuminanceSource source;
using (Window window = new Window("Camera"))
using(Mat image = new Mat())
{
while (true)
{
capture.Read(image); // same as cvQueryFrame
BarcodeReader barcodeReader = new BarcodeReader();
var barcodeBitMap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(image);
byte[] test;
using (var stream = new MemoryStream())
{
barcodeBitMap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
test = stream.ToArray();
}
Result result = barcodeReader.Decode(test);
if (result != null)
{
Console.WriteLine("result: " + result.Text);
}
window.ShowImage(image);
Cv2.WaitKey(30);
}
}
}
【问题讨论】:
标签: opencv zxing opencvsharp zxing.net