opencv - 引发 TypeError ("Image data cannot be converted to float")

标签 opencv

所以我使用 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/

相关文章:

c++ - 如何在 OpenCV 中获取网络摄像头 fps 速率?

android - 错误:错误:找不到(3,10) 'opencv2/opencv.hpp'文件

python - 在不改变纵横比的情况下设置分辨率

java - 如何将 C++ 变量传递给处理脚本?

python - 使用 Opencv Python 调整图像大小并保持质量

c++ - Qt与OpenCV的高效整合

android - 在 android ADT : "ndk-build" not found in PATH 中构建 OpenCV 2.4.5

c++ - 进行 knnMatch 后的 .distance 是什么?

android - 适用于 Android 的计算机视觉和 AR 库?

python - 逐像素二维辐射校准