【发布时间】:2020-04-27 07:35:00
【问题描述】:
我尝试使用 matchTemplate() 函数和 minMaxLoc() 函数在另一个图像中查找位置图像,但它不起作用,因为容器图像与我找到的图像角度不同。
这是我对原始图像所做的,它与 matchTemplate() 函数和 minMaxLoc() 一起工作正常。但是如果我旋转图像。什么都认不出来。
这是我用来识别硬币的代码:
img_rgb = cv.imread('mario.png')
img_gray = cv.cvtColor(img_rgb, cv.COLOR_BGR2GRAY)
template = cv.imread('mario_coin.png',0)
w, h = template.shape[::-1]
res = cv.matchTemplate(img_gray,template,cv.TM_CCOEFF_NORMED)
threshold = 0.8
loc = np.where( res >= threshold)
for pt in zip(*loc[::-1]):
cv.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,0,255), 2)
cv.imwrite('res.png',img_rgb)
我的图片旋转了 30 度:
谁能帮我解决这个问题?
【问题讨论】: