gpt4 book ai didi

image-processing - 照明不均匀的图像

转载 作者:行者123 更新时间:2023-12-01 04:39:42 26 4
gpt4 key购买 nike

如何消除包含文本数据(通常是打印但可能是手写)的图像中的不均匀照明?由于拍照时光线反射,它可能会有一些光点。我已经看到 Halcon 程序的segment_characters 函数完美地完成了这项工作,但它不是开源的。我希望将图像转换为背景照明恒定且文本区域颜色更深的图像。这样二值化就会很容易并且没有噪音。假定文本颜色比背景颜色深。有什么想法吗?

最佳答案

严格来说,假设您可以访问图像的像素(您可以在线搜索如何用您的编程语言完成此操作,因为该主题有大量可用),该练习涉及检查像素一次以确定“暗度阈值” ”。为此,您需要将每个像素从 RGB to HSL 进行转换。为了获得每个像素的亮度级别分量。在此过程中,您将计算整个图像的平均亮度,您可以将其用作“暗度阈值”

获得图像平均亮度级别后,您可以再次检查图像像素,如果像素小于暗度阈值,则将其颜色设置为全白 RGB(255,255,255),否则将其颜色设置为全白黑色 RGB (0,0,0)。这将为您提供一个二值图像,其中文本应为黑色 - 其余部分应为白色。

当然,关键是找到合适的黑暗阈值 - 因此,如果平均方法不能给您带来良好的结果,您可能必须想出一种不同的方法来增强该步骤。这种方法可能涉及分离主要 channel 红、绿、蓝中的图像,并分别计算每个 channel 的暗度阈值,然后使用这三个 channel 的激进阈值。

最后,更好的方法可能是计算光照水平分布 - 而不是简单地计算平均值 - 然后从中,最大值周围的范围就是您想要保留的范围。再次检查每个像素,如果其亮度适合 strip ,则将其设为黑色,否则将其设为白色。

编辑

要进一步阅读有关 HSL 的内容,我建议从 Wiky entry on HSL and HSV Color spaces 开始.

关于image-processing - 照明不均匀的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2477531/

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