gpt4 book ai didi

image-processing - 放大黑线的阈值

转载 作者:行者123 更新时间:2023-12-02 05:01:08 25 4
gpt4 key购买 nike

给定一张图像(如下图所示),我需要将其转换为二值图像(仅限黑白像素)。这听起来很简单,我已经尝试了两个阈值函数。问题是我无法使用这些功能中的任何一个获得完美的边缘。任何帮助将不胜感激。

我尝试过的过滤器是 RGB 和 HSV 空间中的欧氏距离。

示例图片:

enter image description here

这是运行 RGB 阈值过滤器后的结果。 (此后 40% 的人工制品更多)

enter image description here

这是运行 HSV 阈值过滤器后的结果。 (在 30% 时,由于噪音,路径变得几乎不可见但显然无法使用)

enter image description here

我使用的代码非常简单。将输入图像更改为适当的颜色空间,并检查黑色的欧氏距离。

sqrt(R*R + G*G + B*B)

因为我比较的是黑色(0, 0, 0)

最佳答案

您的问题似乎是扫描图像上的光照变化,这表明局部自适应阈值方法会给您带来更好的结果。

Sauvola 方法根据原始图像窗口中像素的均值和标准差计算二值化像素的值。这意味着,如果图像的某个区域通常较暗(或较亮),则会针对该区域调整阈值,并且(可能)减少二值化图像中的暗 Blob 或褪色线条。

http://www.mediateam.oulu.fi/publications/pdf/24.p

我还找到了 Shafait 等人的方法。以更高的时间效率实现 Sauvola 方法。缺点是您必须计算原始图像的两张完整图像,一张每像素 8 位,另一张可能每像素 64 位,这可能会出现内存限制问题。

http://www.dfki.uni-kl.de/~shafait/papers/Shafait-efficient-binarization-SPIE08.pdf

我还没有尝试过这两种方法,但它们看起来确实很有前途。我通过粗略的 Google 搜索找到了两者的 Java 实现。

关于image-processing - 放大黑线的阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17089366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com