所以我使用 python 在 opencv 中进行特征提取。我收到上述错误。图像数据无法转换为 float 。我不明白这个错误。我使用的代码是:
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('template.jpg',0)
img2 =cv2.imread('match.jpeg',0)
orb= cv2.ORB_create()
k1,d1=orb.detectAndCompute(img,None)
k2,d2=orb.detectAndCompute(img2,None)
bf=cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches =bf.match(d1,d2)
matches=sorted(matches,key=lambda x:x.distance)
img3=cv2.drawMatches(img,k1,img2,k2,matches[:10],None,flags=2)
plt.imshow(img3)
plt.show()
帮我解决这个错误。我什至提到了这里提出的类似问题。我一点也不明白。我只是一个初学者..所以试着解释得简单一些。
谢谢你..
最佳答案
此错误通常表示您没有正确读取图像。我会添加一些这样的代码以确保您确实获得了图像:
path1="template.jpg"
if os.path.isfile(path1):
img1 = cv2.imread(path1, 0)
else:
print ("The file " + path1 + " does not exist.")
关于opencv - 引发 TypeError ("Image data cannot be converted to float"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49637030/