无法从'System.Drawing.Bitmap'转换为'byte [*,*,*]'

问题描述 投票:-1回答:1
 Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
            Image<Bgr, byte> grayImage = new Image<Bgr, byte>(bitmap);
            Rectangle[] rectangles = cascadeclassifier.DetectMultiScale(grayImage, 1.2, 1);
            foreach(Rectangle rectangle in rectangles)
            {
                using (Graphics graphics = Graphics.FromImage(bitmap))
                {
                    using (Pen pen = new Pen(Color.OrangeRed,1))
                    {
                        graphics.DrawRectangle(pen, rectangle);
                    }
                }
            }

我在这里的代码有问题:

Image<Bgr, byte> grayImage = new Image<Bgr, byte>(bitmap);

错误出现在(位图)

错误是:Error CS1503 Argument 1: cannot convert from 'System.Drawing.Bitmap' to 'byte[*,*,*]'

c# window desktop face-recognition
1个回答
0
投票

您确定从eventArgs获得的帧实际上是位图吗?只是因为您这样转换它,否则它不会转换为一个。

尝试使用:

eventArgs.Frame.Clone() as Bitmap

并检查是否为空。

另外,请发布抓帧方法以供参考。

© www.soinside.com 2019 - 2024. All rights reserved.