【发布时间】:2015-02-19 02:12:02
【问题描述】:
我对所有其他 24 位 JPEG 图像都使用了 SIFT,没有任何问题,但是,8 位图像总是给我以下错误。
函数 cv::SIFT::operator () 中的图像为空或深度不正确 (!=CV_8U)
有人知道怎么处理吗?
这是我的代码:
import cv2
import numpy as np
import os
import glob
import scipy.cluster
os.chdir('\mydirectory')
images = []
for infile in glob.glob('./*.jpg'):
pic = cv2.imread(infile,0)
images.append(pic)
my_set = images
descriptors = np.array([])
feaL=np.array([])
for pic in my_set:
kp, des = cv2.SIFT().detectAndCompute(pic, None)
feaL=np.append(feaL,des.shape[0])
descriptors = np.append(descriptors, des)
然后弹出错误“image is empty or has wrong depth (!=CV_8U) in function cv::SIFT::operator ()”。
【问题讨论】:
-
sift 一般是在灰度图像上进行的,它是 8 位的。可以发代码吗?
-
我刚刚添加了代码,非常感谢您帮助我。