【发布时间】:2013-06-13 14:14:03
【问题描述】:
给定一张图像(如下图所示),我需要将其转换为二值图像(仅限黑白像素)。这听起来很简单,我尝试了两个阈值函数。问题是我无法使用这些功能中的任何一个获得完美的边缘。任何帮助将不胜感激。
我尝试过的过滤器是 RGB 和 HSV 空间中的欧几里得距离。
示例图片:
这是在运行 RGB 阈值过滤器之后。 (40% 之后的人工制品更多)
这是在运行 HSV 阈值过滤器之后。 (在 30% 时,路径变得几乎看不到,但由于噪音明显无法使用)
我使用的代码非常简单。将输入图像更改为适当的颜色空间,并用黑色检查欧几里得距离。
sqrt(R*R + G*G + B*B)
因为我是和黑色比较 (0, 0, 0)
【问题讨论】:
-
你试过霍夫函数和噪声滤波器吗?我相信你可以很好地利用matlab的imnoise(..)
-
不是真的,因为当我增加阈值时,很多图像会因为我猜的阴影而完全变黑。而且我认为噪声过滤器无法消除这些......我可能是错的。
-
尝试使用边缘检测或使用霍夫变换之类的方法找到线条。
-
我在android平台上写这个。所以,如果你们能推荐一个好的库来使用..我显然不想手工编写所有这些算法