Ошибка слишком большого количества индексов при сегментации изображения

#image #numpy #indices #segment

#изображение #numpy #индексы #сегмент

Вопрос:

Я пытаюсь расшифровать, как устранить причину, по которой у меня ошибка в моем коде.

В принципе, у меня есть изображение в формате JPG, и мне нужно сегментировать его, используя пороговые значения для трех каналов RGB.

Это мой код:

 img = cv2.imread('sample.jpg')
img = np.asarray(img)
img = img[:,:,0:3]
plt.imshow(img)
plt.show()

img_gray = rgb2gray(img)
img_gray = np.around(img_gray)
img_gray = img_gray.astype(int)
img_gray

histogram2, bins2 = np.histogram(img_gray, bins=range(255))
plt.bar(bins2[1:], histogram2)
plt.show()

img_select = np.where((img_gray[:,:,0]<150) amp; (img_gray[:,:,1]>70) amp; (img_gray[:,:,2]<90), 1, 0)
plt.imshow(img_select, cmap = 'gray')
plt.show()
 

Ошибка находится в части img_select. Я получаю эту ошибку:

«слишком много индексов для массива»

Может кто-нибудь помочь мне устранить это?

Комментарии:

1. img_gray изображение в оттенках серого / одноканальное. Используйте исходное цветное изображение img для порогового значения каналов.

2. это сработало! Спасибо!