OpenCV错误:断言失败(!outImage.empty())在drawKeypoints中,

2024-06-11 19:36:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习SIFT algorithm以便比较图像和检测常见对象。 我开始在这个领域,我写了一个小脚本,在第一时间得到关键点,但我得到了一个错误。在

我的脚本:

import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('test.jpg')          # trainImage
gray = cv2.imread('test.jpg',1)

# Initiate SIFT detector
sift = cv2.xfeatures2d.SIFT_create()

kp = sift.detect(gray,None)
img = cv2.drawKeypoints(gray,kp,None)

cv2.imwrite('sift_keypoints.jpg',img)

我想显示带有所有关键点的灰色图片,但出现以下错误:

^{pr2}$

我读了这篇文章:TypeError: Required argument 'outImg' (pos 6) not found

所以我在drawKeypoints内添加了None,但是不可能得到一个好的结果。在

你有什么主意吗?在

我正在研究Python 2.7和{}

谢谢;)

编辑:

如果我只写几行:

img = cv2.imread('/home/valentin/Bureau/ville.jpg')        
gray = cv2.imread('ville.jpg',0)
cv2.imwrite('test_gray.jpg',gray)

plt.imshow(img), plt.show()

我得到这个错误:

TypeError: Image data can not convert to float

Tags: testimport脚本noneimgas错误plt