首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何补偿打印页面照片中的不均匀照明?

如何补偿打印页面照片中的不均匀照明?
EN

Stack Overflow用户
提问于 2009-11-28 14:44:50
回答 10查看 4K关注 0票数 5

我正在尝试教我的相机成为扫描仪:我拍摄打印文本的照片,然后将它们转换为位图(然后转换为djvu和OCR‘)。我需要计算一个阈值,哪些像素应该是白色的,哪些是黑色的,但是我被不均匀的光照所阻碍。例如,如果中间的像素足够暗,我很可能会在角落里看到一堆黑色的像素。

在相对简单的假设下,我想做的是在阈值之前补偿不均匀的光照。更准确地说:

  • 假设有一个或两个光源,可能一个光源的光线强度在表面上逐渐变化(环境光),另一个光源的光线强度与正方形相反(直射光)。
  • 假设纸张的白色部分都具有相同的反射率/反照率/其他值。
  • 找到一些算法来估计每个像素的照度,并由此恢复每个像素的反射率。
  • 根据像素的反射率,将其分类为白色或黑色

我不知道如何编写一个算法来做到这一点。我不想退回到最小二乘拟合,因为我想忽略估计照度时的暗像素。我也不知道这个算法是否有效。

所有有用的建议都会得到支持!

编辑:我确实考虑过将图像分成足够大的部分,这样它们看起来仍然像“白色背景上的文本”,但足够小,以便单个部分的照明或多或少是均匀的。我想,如果我对阈值进行插值,这样就不会在子图像边界上出现不连续,我可能会得到一些还算不错的东西。这是一个很好的建议,我将不得不试一试,但它仍然给我留下了一个问题,即在哪里划清白色和黑色之间的界限。更多的想法?

编辑:这里是一些来自GIMP的屏幕转储,显示了不同的直方图和每个直方图的“最佳”阈值(手动选择)。在三个阈值中的两个中,整个图像的单个阈值就足够好了。然而,在第三个例子中,左上角确实需要一个不同的阈值:

EN

Stack Overflow用户

发布于 2016-08-29 16:09:29

自适应阈值是关键字。引用自2003年的文章作者: R. Fisher,S. Perkins,A. Walker和E. Wolfart:“这种更复杂的阈值处理版本可以适应图像中不断变化的光照条件,例如那些由于强烈光照梯度或阴影而出现的光照条件。”

ImageMagick的-lat选项可以做到这一点,例如:

代码语言:javascript
复制
convert -lat 50x50-2000 input.jpg output.jpg

output.jpg

票数 1
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1811800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档