他のすべての 24 ビット JPEG 画像には問題なく SIFT を使用しましたが、8 ビットの JPEG 画像では常に次のエラーが表示されます。
画像が空であるか、関数 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)
次に、「関数 cv::SIFT::operator () の画像が空であるか、深さが正しくありません (!=CV_8U)」というエラーが表示されます。