Я использовал SIFT для всех моих других 24-битных изображений JPEG без каких-либо проблем, однако 8-битный всегда дает мне следующую ошибку.python opencv SIFT не работает для 8-битных изображений (JPEG)
изображение пуста или имеет неправильную глубину (! = 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_8U) в функции резюме :: просеять :: оператор()" выскакивает.
Просеивание обычно выполняется на изображениях в оттенках серого, которые являются 8 бит. может ли почтовый индекс? – chris
Я только что добавил код, большое спасибо за то, что помог мне. –