![enter image description here](https://i.stack.imgur.com/pmSmd.png)
У меня есть изображение выше, и я просто хочу получить возможность обвести форму, выделенную красным, и покрасить все в этой форме в белый. Мой фрагмент кода ниже читает изображение, использует значение HSV, чтобы попытаться получить маску только из значений красного пикселя, но по какой-то причине это не работает. Я не получаю полный круг и просто получаю кучу точек вокруг окрестности. Я использую неправильные значения HSV?
im = cv2.imread(img, cv2.IMREAD_UNCHANGED)
hsv_im = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)
lower_red = np.array([0, 80, 80], np.uint8)
upper_red = np.array([20, 255, 255], np.uint8)
frame_threshold_red = cv2.inRange(hsv_im, lower_red, upper_red)
Чтобы получить мои значения HSV, я делаю это:
red = np.uint8([[[0, 0, 224]]])
hsv_red = cv2.cvtColor(red, cv2.COLOR_BGR2HSV) # 0, 255, 224
224 - значение красного пикселя. Я проверил это, посмотрев на фактические значения матрицы.
У кого-нибудь есть какие-либо предложения о том, как я могу это исправить? Должен ли я изменить значения HSV или использовать совершенно другой способ? Спасибо!
В настоящее время я получаю что-то вроде этого:
![enter image description here](https://i.stack.imgur.com/Fnf1c.png)