Я новичок в компьютерном зрении и пытаюсь создать классификатор изображений для классификации изображений из разных наборов данных.Я собираюсь извлечь визуальные особенности этих изображений, такие как гистограмма LBP, цветная гистограмма с использованием OpenCV.Поскольку эти изображения сканируются с разных веб-сайтов, они имеют разный размер изображения (например, 136x215
против 266x382
).Должен ли я настроить изображения до того же размера перед извлечением объектов?
Код для извлечения гистограммы LBP:
img_array=cv2.imread(img)
img_gray=cv2.cvtColor(img_array,cv2.COLOR_BGR2GRAY)
lbp=feature.local_binary_pattern(img_gray,8,3,method='uniform')
(hist,_)=np.histogram(lbp.ravel(),bins=np.arange(0,11),range=(0,10))
hist=hist.astype('float')
eps=1e-7
hist/=(hist.sum()+eps)
hist=hist.reshape(1,-1)
Код для извлечения цветовой гистограммы:
image=cv2.imread(img)
image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
color_hist=cv2.calcHist([image],[0,1,2],None,[8,8,8],[0, 256, 0, 256, 0, 256])
color_hist=cv2.normalize(color_hist,color_hist).flatten()
color_hist=color_hist.reshape(1,-1)