gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 08:57:30 30 4
gpt4 key购买 nike

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

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

  • 假设有一个或两个光源,可能一个在整个表面(环境光)的光强度逐渐变化,另一个具有平方反比(直射光)。
  • 假设纸张的白色部分都具有相同的反射率/反照率/任何东西。
  • 找到一些算法来估计每个像素的照明度,并从中恢复每个像素的反射率。
  • 根据像素的反射率,将其分类为白色或黑色

  • 我不知道如何编写算法来做到这一点。我不想回到最小二乘拟合,因为在估计照明时我想以某种方式忽略暗像素。我也不知道该算法是否有效。

    所有有用的建议都会被点赞!

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

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



    最佳答案

    我不确定这么长时间后您是否仍然需要解决方案,但如果您仍然需要。几年前,我和我的团队用相机拍摄了大约 250,000 页,并将它们转换为(几乎是黑白)灰度图像,然后我们将其 DjVued(也制作 pdf)。

    (见 The catalogue and complete collection of photographic facsimiles of the 1144 paper transcripts of the French Institute of Pondicherry。)

    我们还遇到了光照不均匀的问题。我们想出了一个简单的、简单的解决方案,在实践中效果很好。这个解决方案也应该用于创建黑白图像而不是灰度(正如我将描述的)。

  • 相机和灯光设置

    a) 我们将一个空相框贴在 table 的顶部,使我们的页面保持在完全相同的位置。

    b) 我们将相机放在同样位于上方 table 顶部的三脚架上,并指向下方贴有胶布的相框和约一英尺宽的横杆,该横杆与相机顶部的外部闪光灯支架相连,我们安装了两个“造型灯” .这些可以在任何一家好的相机商店购买。它们旨在提供均匀的照明。通过在每个造型灯周围放置一个小纸板箱来遮挡灯光。我们以灰度拍摄,然后进一步处理。 (我们的页面是用蓝色墨水书写的旧棕色纸,所以你的情况应该更简单)。
  • 图像处理

    我们使用了免费软件包irfanview .

    该软件具有批处理模式,可以同时进行色彩校正、更改位深度和裁剪图像。我们会拍一张页面的照片,然后在交互模式下调整亮度、对比度和 Gamma 设置,直到它接近黑白。 (我们使用了灰度,但通过将位深度设置为 2,当您批量处理所有页面时,您将获得黑白效果。)
    在确定最佳色彩校正后,我们以交互方式裁剪单个图像并记录裁剪设置。然后我们在批处理模式窗口中设置所有这些设置并处理一本书的页面。
  • 创建 DjVu 图像。

    我们使用了免费的 DjVu Solo 3.1创建 DjVu 图像。这有多种创建 DjVu 图像的模式。创建黑白图像的模式对我们的照片效果不佳,但“照片”模式可以。

    我们没有使用 OCR(因为图像是手写的梵文),但只要字母被均匀照亮,我认为您的 OCR 软件应该忽略大的黑色区域,例如两页展开之间的区域。但是,您始终可以通过为左侧页面和右侧页面裁剪页面两次来消除两页展开之间或边缘处的黑色,而 irfanview 软件将允许您巧妙地为页面编号,以便您然后可以按正确的顺序重新合并页面。即,将您的页面重命名为左侧页面的 page-xxxA 和右侧页面的 page-xxxB ,然后页面将按名称正确排序。

  • 如果你仍然需要一个解决方案,我希望上面的一些内容对你有用。

    关于image-processing - 如何补偿打印页面照片中的不均匀照明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1811800/

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