首页 > 解决方案 > 无法从 'System.Drawing.Bitmap' 转换为 'byte[*,*,*]'

问题描述

 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#windowdesktopface-recognition

解决方案


对于 4.3 版,请使用:

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

推荐阅读