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

C#在屏幕上查找图像匹配,c#,bitmap,C#,Bitmap,你好, 我知道以前有很多类似的问题问过,但我都读过了,他们没有给我我想要的答案 我想做的是,我想创建一个函数,可以从屏幕上获取指定图像的位置(X,Y),如果它存在的话 我会拍摄屏幕截图,指定搜索区域(矩形),然后看看它是否能找到我要搜索的图像中第一个像素的颜色,如果能找到,它会检查它是否能找到我要搜索的图像的最后一个像素,距离图像高度n'宽度。如果它确实找到了一个匹配,那么它将从中心检查10-20个像素,看看是否找到了匹配的图像,如果是,那么它将返回第一个像素的坐标 FindBitmap( in

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

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

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

FindBitmap( int[] Image, int x1, int y1, int x2, int y2 )
图像将是可搜索图像的像素阵列

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


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

图像识别是一个非常复杂的概念。 根据你的问题,我假设你有“准确”的副本,你正试图在屏幕上找到它

首先使用GetPixel SetPixel on位图,然后使用进行优化。这是一个伟大的性能提升

另一方面,您的解决方案有点“暴力”企图

有更好的解决方案,如:


去图书馆看看。它包含许多用于图像处理的函数。

关于互相关:有关使用互相关进行声音检测的实际用法和实现,请参阅我以前的问题: