Исходное цветное изображение:

Пороговое изображение Оцу:

Я хотел бы извлечь из цветного изображения только пиксели в черной части порогового изображения Оцу и сохранить его как новое изображение. До сих пор я пытался извлечь изображение с помощью метода BITWISE_NOT и использования «thresh_inv» в качестве маски, однако в результате получалось только это изображение (оттенки серого + дополнительный черный фон). Я также попробовал использовать метод контуров Кэнни, чтобы определить приблизительный контур бисквитного круга, а затем нарисовал контуры на пустом изображении, чтобы попытаться наложить его на исходное цветное изображение. Это также не сработало.

Вот мой код, я был бы очень признателен за любую помощь, поскольку я пытался разобраться в нем целую вечность.
Код: Выделить всё
import numpy as np
import cv2 as cv2
picture = cv2.imread('Cropped_6.png',0)
blurred_picture = cv2.GaussianBlur(picture, (15,15), cv2.BORDER_DEFAULT)
# canny_picture = cv2.Canny(blurred_picture, 41,41)
# cv2.imshow('Blurred', canny_picture)
# Simple Thresholding
threshold, thresh = cv2.threshold(blurred_picture, 105, 255, cv2.THRESH_OTSU)
# contours, hierarchies = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
thresh_inv = cv2.bitwise_not(thresh)
foreground = cv2.bitwise_and(picture, picture, mask=thresh_inv)
cv2.imwrite('Attempt_1.png',foreground)
# cv2.drawContours(blank_picture, contours[:0], -1, (0,0,255), 1)
cv2.imshow('Original', picture)
cv2.waitKey(0)
Желаемый результат:

Подробнее здесь: https://stackoverflow.com/questions/654 ... -threshold
Мобильная версия