невозможно преобразовать из 'System.Drawing.Bitmap' в 'byte [*, *, *]' - PullRequest
0 голосов
/ 27 февраля 2020
 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[*,*,*]'

1 Ответ

0 голосов
/ 27 февраля 2020

Вы уверены, что кадр, полученный из eventArgs, на самом деле является растровым изображением? Только потому, что вы разыгрываете его как таковой, он не преобразуется в единицу, если его нет.

Попробуйте использовать:

eventArgs.Frame.Clone() as Bitmap

и проверьте его на ноль.

Также, пожалуйста, опубликуйте метод захвата кадра для справки.

...