Значения BGR маскированного изображения (OpenCV, Python) - PullRequest
0 голосов
/ 04 мая 2018

Используя следующее изображение ..

car

... Я применяю этот код для создания маски круга:

import cv2
import numpy as np

img = cv2.imread("car.png")

height, width, depth = img.shape
circle_img = np.zeros((height, width), np.uint8)

mask = cv2.circle(circle_img, (int(width / 2), int(height / 2)), 90, 1, thickness=-1)
masked_img = cv2.bitwise_and(img, img, mask=circle_img)

cv2.imshow("masked", masked_img)
cv2.waitKey(0)

Это вывод ..

masked_car

Как найти значения BGR круга, используя OpenCV?

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете сделать это, используя массивы numpy.

circle_locations = mask == 1
bgr = img[circle_locations]

РЕДАКТИРОВАТЬ: я не уверен, если ваша маска имеет значения в {0, 1}, хотя я предполагаю, что это имеет. Если его фоновое значение равно 0, а все положительные значения forground, просто измените == 1 на > 1.

...