Лучший метод порогового изображения, который вернет высокий / низкий порог? - PullRequest
0 голосов
/ 17 января 2019

Мне трудно найти адаптивный метод определения порогов изображения для лабиринтов, который будет возвращать либо высокое, либо низкое значение, чтобы убедиться, что все пути имеют одинаковый цвет.

До сих пор я пробовал фиксированный порог, который явно не работал, и метод Оцу, который возвращает значение около середины, что означало, что некоторые пиксели не были преобразованы должным образом.

исходное изображение - https://imgur.com/DqaUYfW

метод Отсу - https://imgur.com/a/V5t6rqZ

желаемый результат - https://imgur.com/a/yvXuAqC

1 Ответ

0 голосов
/ 17 января 2019

Извините, у меня нет java, поэтому я просто пробую некоторые методы на python и могу получить желаемый результат, который вы хотите. Надеюсь, это поможет вам.

import cv2
import numpy as np

image = cv2.imread("1.png")

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

_,thresh = cv2.threshold(gray,100,255,cv2.THRESH_BINARY)
cv2.imshow("thresh",thresh)

blur = cv2.GaussianBlur(gray,(5,5),0)
ret3,otsu = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
cv2.imshow("otsu",otsu)

adaptive_thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 29, 30)
cv2.imshow("adaptive_thresh",adaptive_thresh)

cv2.imshow("img",image)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • Метод Оцу

enter image description here

  • Фиксированный двоичный порог

enter image description here

  • Адаптивный порог

enter image description here

...