【发布时间】:2016-01-04 13:03:45
【问题描述】:
我有两个图像要使用 openCV 对齐。其中一张是真彩色图像的绿色波段,另一张是几乎相同区域的 NIR 图像(偏移量约为 180 像素)。对于这种对齐方式,我想使用 python-opencv 3.0 和 ORB 算法。我使用以下脚本来创建 KNNmatches:
img1 = cv2.imread('rgb.png',1)
img2 = cv2.imread('nir.png',0)
img1=img1[:,:,1]
orb = cv2.ORB_create()
kp1, des1 = orb.detectAndCompute(img1,None)
kp2, des2 = orb.detectAndCompute(img2,None)
bf = cv2.BFMatcher()
matches = bf.knnMatch(des1,des2, k=2)
good = []
for m,n in matches:
if m.distance < 0.75*n.distance:
good.append([m])
img3 = cv2.drawMatchesKnn(img1,kp1,img2,kp2,good,flags=2,outImg=None)
但是,当我对我的图像执行此操作时,我只得到与以下图像匹配的几个:
你们中有人知道我如何才能最好地对齐这些图像吗?提前感谢您,如果在错误的论坛上发布此内容,我们深表歉意。
【问题讨论】:
-
你可能想看看Image Registration
标签: python opencv rgb infrared