我想在屏幕上找到一张图片。我将图像保存在计算机上并使用Image.FromFile()
加载。
我正在使用
创建屏幕截图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;
但现在我不知道如何在屏幕图像中搜索第一张图片。
我在stackoverflow上搜索了一下,发现了一些答案,但没有适当的例子。
由于我的C#技能不是最好的,我可以通过一个基本的例子更好地工作,然后我可以理解和使用它以了解更多信息。
有人可以提供这样的样品吗?
答案 0 :(得分:1)
您所描述的内容称为模板匹配。您有一个小图像(模板)位于较大图像中的某个位置。
有很多关于算法的信息,但我真的建议你改用库。
OpenCV是一个众所周知的开源库,它非常容易使用。 OpenCV是用C ++编写的,因此在C#环境中使用它可能很困难。幸运的是,还有一个名为EmguCV的C#端口,也可以免费使用。