如何均衡一组图像的强度?

How can I equalise intensity for a set of images?

一段时间以来,我手绘了一组方形瓷砖。 它们本质上是纸上的黑色墨水。

扫描并调整大小后,我编写了一些代码以从图块构建更大的图像。

但是,我可以看到它们的黑白强度并不完全相同,而且在生成的大图像中,我可以看到某些瓷砖跳了出来。 我想减少这种影响。

我发现这是一个特别有趣的问题。然而,它被笨拙地提出,所以我建议马特通过一些编辑来改进这个问题。同时,一些观察。

我的第一个想法是,不匹配可能是 sub-images 中残留颜色差异的结果,因此我在评论中建议通过转换为 1 位格式来消除细微的阴影。马特随后分享了这张图片,这让我有机会看到问题,而不仅仅是推测它。这是他的马赛克图像(缩放到原始尺寸的 10%):

在我看来,马赛克拼贴之间的视觉不一致是 sub-images 之间线宽和重量变化的结果,而不是任何 "color" 变化。这种变化使问题更难(至少对我而言),当然也更有趣。

我用 ImageMagick 尝试了一些事情,只是想看看我是否能解决这个问题。 (是的,Matt 在解决方案中请求了 PIL,但 ImageMagick 非常适合成像解决方案的快速原型制作。)我发现锐化和模糊没有显着影响,至少对于我探索的参数而言。与我的直觉相反,降低对比度很有帮助,但确实会使背景变灰。我通过应用白色阈值补偿了这种背景偏移。

$ convert D2NzjO0.jpg -brightness-contrast -75% -white-threshold 10% proc.jpg

我认为这个处理确实改善了图像

显然,此处理并未消除线宽影响。看起来太轻的笔划确实被缓和了,但特别重的笔划仍然很突出。也许这种对比度和阈值处理的其他参数会产生更好的结果。如果 Matt 认为这种方法有前途,我会将其留作练习。

也许更好的方法是某种笔划检测和规范化过程。这种处理远远超出了我的知识范围,所以我只能对此进行推测。如果问题 得到显着 改进,可能值得添加 and/or 标签。如果您决定提出一个更好的问题,马特可以随意重复我的评论和回答。如果你大量借钱,我会很感激一些归因。