Как я могу замаскировать только часть изображения в python?

#python #opencv #image-processing #computer-vision

#питон #opencv #обработка изображений #компьютерное зрение

Вопрос:

Когда я маскирую изображение в opencv, многие вещи внутри изображения отображаются белым цветом, но мне нужна только определенная область изображения белого цвета. Это координаты этой области : 540:740,340:440 Как я могу замаскировать только эту область от всего изображения?.

Ответ №1:

Просто установите эту часть матрицы на нужный вам цвет.

 import numpy as np mask = 255 * np.ones(((740-540),(440-340),3),dtype=int) image[540:740,340:440,:] = mask  

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

1. Я использую int, но может быть, в вашем изображении используются значения с плавающей точкой. Затем соответствующим образом измените линию маски.

Ответ №2:

Вы можете сделать это с помощью метода. Я использовал этот метод для искусственного интеллекта, которому нужна только часть изображения. Таким образом, «вершины» должны быть массивом np, который включает в себя координаты

 def roi(img, vertices):  mask = np.zeros_like(img)  cv2.fillPoly(mask, vertices, 255)  masked = cv2.bitwise_and(img, mask)  return masked