C#在屏幕上查找匹配的图像

本文关键字:图像 查找 屏幕 | 更新日期: 2023-09-27 17:57:59

你好,我知道以前问过很多类似的问题,但我都读过了,他们还没有给我想要的答案。

我想做的是,我想创建一个函数,如果存在的话,可以从屏幕上获取指定图像的位置(X,Y)。

我会拍一张屏幕截图,指定搜索区域(矩形),然后看看它是否能找到我正在搜索的图像中第一个像素的颜色,如果能找到,它会检查它是否能在图像高度n'宽度的距离处找到我正在寻找的图像的最后一个像素。如果它确实找到了匹配,那么它会检查距离中心10-20个像素,看看是否找到了匹配的图像,如果找到了,那么它就会返回第一个像素的坐标。

FindBitmap( int[] Image, int x1, int y1, int x2, int y2 )

图像将是可搜索图像的像素阵列

X1Y1将是搜索区域的起点,而X2Y2将是终点。

如果有人能告诉我如何创建这个函数,我将不胜感激。

C#在屏幕上查找匹配的图像

图像识别是一个相当复杂的概念。根据你的问题,我假设你有"确切"的副本,并且你正试图在屏幕上找到它。

首先在位图上使用GetPixel SetPixel,然后使用LockBits对其进行优化。这是一个巨大的性能提升。

顺便说一句,你的解决方案有点"蛮力"的尝试。

有更好的解决方案,如:

  • 神经网络
  • 交叉相关

查看AForge。Net库。它包含了许多用于图像处理的功能。