0

我发现很难为迷宫找到一种自适应图像阈值技术,该技术将返回高值或低值以确保所有路径都是相同的颜色。

到目前为止,我已经尝试了一个明显不起作用的固定阈值和 otsu 的方法,它在中间返回一个值,这意味着某些像素没有正确转换。

原始图像 - https://imgur.com/DqaUYfW

大津的方法 - https://imgur.com/a/V5t6rqZ

所需的输出 - https://imgur.com/a/yvXuAqC

4

1 回答 1

0

抱歉,我没有 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()
  • 大津法

在此处输入图像描述

  • 固定二进制阈值

在此处输入图像描述

  • 自适应阈值

在此处输入图像描述

于 2019-01-17T01:40:17.890 回答