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

Ban*_*yap 1 c# desktop window face-recognition

 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);
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

我在这里的代码有问题:

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

错误位于 (位图)

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

小智 7

对于版本 4.3,请使用:

var bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb);
Image<Bgr, Byte> img1 = bmp.ToImage<Bgr, byte>();
Run Code Online (Sandbox Code Playgroud)