Python 几乎完美地匹配两幅图像的像素,但能否使用OpenCV仅匹配稍暗的亮度值?
我试图用cv2比较两幅图像,Python 几乎完美地匹配两幅图像的像素,但能否使用OpenCV仅匹配稍暗的亮度值?,python,python-3.x,opencv,image-processing,cv2,Python,Python 3.x,Opencv,Image Processing,Cv2,我试图用cv2比较两幅图像,tile和tlcropped。它可以工作,但只要这两个图像是像素完美和颜色值完美 我希望它是像素完美的,但事情是。。。我不希望它必须是完全相同的颜色值,但最接近的一个。我试图比较这两幅图像中的瓷砖: 屏幕截图 磁贴本身 但是,与独立的平铺图片相比,屏幕截图的RGB值稍暗一些。我如何让它保持像素完美,但至少匹配略有不同的亮度值,但不足以得到错误的瓷砖?我已经考虑了一段时间,但还没有找到一个好的解决方案 (我使用的是cv2,不是cv。) 顺便说一下,这是我现在的比较代
tile
和tlcropped
。它可以工作,但只要这两个图像是像素完美和颜色值完美
我希望它是像素完美的,但事情是。。。我不希望它必须是完全相同的颜色值,但最接近的一个。我试图比较这两幅图像中的瓷砖:
屏幕截图
磁贴本身
但是,与独立的平铺图片相比,屏幕截图的RGB值稍暗一些。我如何让它保持像素完美,但至少匹配略有不同的亮度值,但不足以得到错误的瓷砖?我已经考虑了一段时间,但还没有找到一个好的解决方案
(我使用的是cv2,不是cv。)
顺便说一下,这是我现在的比较代码,如果您需要的话:
for tileN in range(1, tilecount):
tilePosY = tileN*h;
tlcropped = tlset[ tilePosY: tilePosY+16, 0: w]
if ((tile==tlcropped).all()):
match_found = True
break;
您可以尝试将每个像素(图像和模板)转换为其LBP表示形式并搜索完美匹配,但这可能太宽了。也许您可以将其与ssd阈值或局部标准化融合。说明此问题的另一种方法可能会导致您尝试一些想法,即您希望“边缘”匹配,但允许像素值中存在一些错误。您可以尝试将每个像素(图像和模板)转换为其LBP表示,并搜索完美匹配,但这可能是过于宽泛的容忍。也许你可以将其与ssd阈值或局部标准化融合。说明此问题的另一种方法是,你希望“边缘”匹配,但允许像素值中出现一些错误,这可能会导致一些想法供你尝试。