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

2024-04-25 21:31:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我用手画了一套方砖,用了一段时间。 它们基本上是黑色的墨水在纸上。你知道吗

在扫描和调整大小之后,我编写了一些代码来从瓷砖构建更大的图像。你知道吗

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


Tags: 代码图像瓷砖黑色强度手画方砖
1条回答
网友
1楼 · 发布于 2024-04-25 21:31:40

我发现这是一个特别有趣的问题。但是,这个问题提出得很笨拙,所以我建议马特通过一些编辑来改进这个问题。同时,一些观察。你知道吗

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

Matt's image, reduced

在我看来,马赛克瓷砖之间的视觉不一致是由于子图像之间的线宽和重量变化,而不是任何“颜色”变化。这种变化使问题更难(至少对我来说),当然也更有趣。你知道吗

我用ImageMagick做了一些尝试,只是想看看是否能处理好这个问题。(是的,Matt要求在解决方案中使用PIL,但是ImageMagick非常适合于成像解决方案的快速原型制作。)我发现锐化和模糊没有明显的效果,至少对我研究的参数来说是这样。与我的直觉相反,对比度降低是有帮助的,但它确实使背景变灰了。我通过应用一个白色阈值来补偿这个背景偏移。你知道吗

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

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

contrast processed image

显然,这种处理并没有消除线宽效应。看起来太轻的笔划已经缓和了,但额外的重划仍然很突出。也许这种对比度和阈值处理的其他参数将产生更好的结果。如果马特觉得这种方法很有前途,我就把它作为练习留给他。你知道吗

也许更好的方法是某种笔划检测和标准化过程。这种处理方式远远超出了我的知识范围,因此我只能对此进行推测。如果问题显著改善了,那么添加和/或标记可能是值得的。如果你决定提出一个更好的问题,马特可以随意套用我的评论和回答。如果你借得多,我会很感激的。你知道吗

相关问题 更多 >