Снимок экрана C# с областью экрана с поиском по шаблону (Emgu CV v4.9)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Снимок экрана C# с областью экрана с поиском по шаблону (Emgu CV v4.9)

Сообщение Anonymous »

Я делаю скриншот области экрана, затем ищу совпадение по шаблону.
В строке появляется ошибка.
Image source = Emgu.CV.BitmapExtension.ToImage(bitmap);

System.ArgumentException: «Недопустимый параметр».
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Forms;

using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using Emgu.CV.Util;

private void btnStart_Click(object sender, EventArgs e)
{
RECT rect;
rect.left = 0;
rect.top = 0;
rect.right = 1200;
rect.bottom = 800;
Rectangle bounds = new Rectangle(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);
var bitmap = new Bitmap(bounds.Width, bounds.Height);
using (bitmap)
{
using (var g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
}
}

//----** ERROR**

Image source = Emgu.CV.BitmapExtension.ToImage(bitmap);
// and this option doesn't work
// Image source = bitmap.ToImage();

Image template = new Image("scr-over/temple.bmp");
Image imageToShow = source.Copy();
using (Image result = source.MatchTemplate(template, Emgu.CV.CvEnum.TemplateMatchingType.CcoeffNormed))
{
double[] minValues, maxValues;
Point[] minLocations, maxLocations;
result.MinMax(out minValues, out maxValues, out minLocations, out maxLocations);
if (maxValues[0] > 0.9)
{
Rectangle match = new Rectangle(maxLocations[0], template.Size);
imageToShow.Draw(match, new Bgr(Color.Red), 1);
pictureBox1.Image = imageToShow.ToBitmap();
}
}
imageToShow.Save("scr-over/result.bmp");

}


Подробнее здесь: https://stackoverflow.com/questions/793 ... gu-cv-v4-9
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Снимок экрана C# с областью экрана с поиском по шаблону (Emgu CV v4.9)
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Ошибка EMGU при попытке установить emgu.cv.runtime.windows в VC# 2017
    Anonymous » » в форуме C#
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous
  • Как получить снимок экрана для экрана размером 5,5 дюйма в Xcode 15 на Sonoma
    Гость » » в форуме IOS
    0 Ответы
    94 Просмотры
    Последнее сообщение Гость
  • Сделать снимок экрана во время записи экрана с помощью MediaProjection API.
    Anonymous » » в форуме Android
    0 Ответы
    112 Просмотры
    Последнее сообщение Anonymous
  • Если сделать снимок экрана в Windows, появится изображение черного экрана.
    Гость » » в форуме C++
    0 Ответы
    76 Просмотры
    Последнее сообщение Гость

Вернуться в «C#»