OpenCV Каждый пиксель в возвращаемом изображении из функции adaptiveThreshold имеет значение 255 - PullRequest
1 голос
/ 25 января 2020

Я применяю адаптивный порог к изображению в оттенках серого, и я хотел бы применить нормальный порог к возвращаемому изображению этой функции. Это не работает, так как каким-то образом каждый пиксель в возвращаемом изображении установлен на 255. Я не понимаю, почему это так, поскольку imshow отображает возвращаемое изображение с адаптивного порога так, как вы этого ожидаете, и реагирует на изменения параметров. Так почему же каждый пиксель 255 и почему я не могу получить результаты, помещая это изображение в обычную пороговую функцию?

Я использую opencv 4.0.0.

image = cv2.imread('../photos/neptune.jpg', 0)
th2 = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 3, 2)

# doesnt matter what second parameter is.
_, thresh = cv2.threshold(th2, 200, 255, cv2.THRESH_BINARY)

1 Ответ

4 голосов
/ 25 января 2020
Функция

cv2.adaptiveThreshold создает на выходе черно-белое изображение. Черно-белое изображение уже является двоичным, и его запуск через двоичный фильтр является избыточным, но если вы все равно это сделаете, вы можете получить одно из следующих: такое же, полностью черное или полностью белое изображение.

...