如何在C#中搜索屏幕上的图像?

Jus*_*ner 7 .net c# image-recognition

我想使用C#或其他.NET语言(如powershell)在屏幕上搜索图像.像我在文件系统中给出一个图像位置,代码将整个屏幕视为图像,并在大图像(屏幕)中搜索文件系统中的图像,然后返回屏幕上的图像位置.我在.net类中找不到这种东西.

谢谢.

Mar*_*son 20

这是一个非常具体的问题,这就是为什么你不会在.NET Framework中找到它.你应该用较小的部分来解决你的问题:

从磁盘上的文件加载图像

使用System.Drawing.Image.FromFile().

获取屏幕图像,即屏幕截图

使用System.Drawing.Graphics.CopyFromScreen():

Bitmap CaptureScreen()
{
    var image = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
    var gfx = Graphics.FromImage(image);
    gfx.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
    return image;
}
Run Code Online (Sandbox Code Playgroud)

在图像中查找图像

请参阅这个问题的答案.

  • “你应该把你的问题分解成更小的部分”+1 :) (2认同)