如何在白色背景的画布上修复不均匀/渐变照明?


24

我有一张纸上铅笔素描照片,在单反相机上用热靴闪光灯和两个偏振滤镜(用于帆布摄影的交叉偏振镜技术)拍摄。

现在的问题是,当靠近图纸时,由于镜头在图像的一部分上投射了阴影,照明变得不均匀。这会在图像上创建近似但不完全线性的渐变。

以下是示例图片;原稿宽约3厘米。

如何进行编辑以使背景均匀为白色?

光源图像不均匀

-编辑-

下面的扫描结果,未经更正和更正。乍一看,这看起来很有希望,但不幸的是,您在这里看到的是全分辨率(宽600像素);扫描仪可以进行300 dpi的扫描,并且图形大约为一英寸宽。与相机的5000像素相比,这要少一些。

而且,与交叉偏振器技术相反,未经校正的扫描暗示石墨确实反射了大部分的光。

扫描未更正 扫描校正曲线


您是否有理由要照相而不是扫描?
2015年

是; 画布可以大于A4。但是我将在晚上比较结果。我对石墨上可能发生的反射有些怀疑。
西蒙·埃格斯特

上面添加了@ColeJohnson Scan。
西蒙·埃格斯特

别的东西尝试:获得光表,或只是挂了您的绘图,在其从后侧绽放出耀眼的光芒,并与灯光的照耀照片它通过它(让自己充当扩散纸)。当然,这不适用于不透明的油漆,或者如果背面有任何绘画,但是对于单面铅笔,蜡笔,墨水或水彩图片,则可能值得尝试。
Ilmari Karonen 2015年

Answers:


8

我自己使用的方法与相似,但是使用Resynthesizer插件(对于GIMP)或Content-Aware Fill(对于Photoshop)来重构渐变:

  1. 创建一个完全覆盖图形的选区。您可以手动执行此操作,也可以使用高通滤波来计算选择掩码,如下所示:

    • 首先在扫描(的副本)上使用像高斯差分的边缘检测滤镜粗略提取图形:

      步骤1.1:提取具有高斯差异的图形

    • 如果结果缺乏对比度,请使用“ 色阶”工具将其变暗:

      步骤1.2:调整等级

    • 应用一些高斯模糊

      步骤1.3:应用高斯模糊

    • 使用“ 阈值”工具获取覆盖整个图形的遮罩,然后使用“ 按颜色选择”将其选中:

      步骤1.4:使用阈值工具获取遮罩

  2. 一旦选择了覆盖图纸的副本,请复制原始扫描图层,然后使用“ 选择愈合 / 内容感知的填充”进行填充。理想情况下,复制的图层现在应该看起来像一张空白纸的图片:

    步骤2:修复选择以重建空白纸

  3. 就像您自己的答案一样,将已编辑图层的模式设置为“分隔”。如果您希望保留某些纸张纹理和/或阴影,则可能希望稍微降低图层的不透明度,并可能应用少量的模糊处理:

    步骤3:除以空白纸层

    (以上图片的填充层高斯模糊了10px,不透明度设置为95%。)

  4. (可选)在合并图层之后,调整级别以设置黑点(提示:使用对数直方图视图)并增加对比度:

    步骤4:调整等级

(注:单击一半尺寸的图像可查看完整尺寸的图像。)

这种方法的优点是,即使对于非常非线性的阴影渐变,它也可以很好地工作。当然,这不是完美的-如果纸张有不规则的污点,其边界部分位于图形下方,则基于内容的填充不太可能正确重建。如上所述,它通常仍能提供相当不错的结果。


这很酷,实际上是我首先要做的,但是我没有找到再合成器!明天去尝试一些图纸。好奇其中较大的图纸被覆盖的地方。您的结果看起来不错。
西蒙·埃格斯特

看来我似乎无法在Gimp中注册“ 治疗选择”,…
Simon A. Eugster 2015年

真奇怪 您使用Windows还是Linux?一种可能是您可能没有Python,或者GIMP由于某种原因可能找不到它。在这种情况下,“治疗选择”可能不起作用,但是基本的“ 过滤器”>“贴图”>“重新合成”(即使用户界面可能不太方便,它也可以完成“治疗选择”的所有工作)仍然可用。
Ilmari Karonen 2015年

我在Linux上,必须自己编译插件。“地图”>“重新合成”确实可用。如何检查Gimp是否找到所需的python版本?我已经安装了2.7.5和3.3.2。
西蒙·埃格斯特

我不太确定;我自己使用Ubuntu,只是让APT负责。Python-Fu子菜单是否为您显示?如果没有,您可能需要安装GIMP-Python(如果可以从GIMP本身单独获得)和/或在启用Python支持的情况下重新编译GIMP。再说一次,我真的只是在猜测。
Ilmari Karonen 2015年

18

编辑:我编写了一个Gimp脚本,该脚本执行以下步骤,而另一个脚本用于Ilmaris答案。这两个脚本都可以在GitHub上下载。建议的方法是这种方法


我在这里回答这个问题是因为我已经寻找了很长时间的解决方案,并且找到了一个简单且可行的解决方案。让我们马上得到结果:

  1. 通过仅复制背景的垂直条纹并将其拉伸到原始图像的大小来创建背景层。

    在Gimp中:r从上至下选择一个包含背景的矩形,粘贴Shift+Ctrl+V到新图像,然后将Filter > Map > Tile其扩展为图像大小,对其进行高斯模糊处理,然后将其复制回图像作为新图层。

  2. 将图层模式设置为Division

  3. 根据需要将层的不透明度降低到例如90%。保持在100%的亮度通常太亮。

分割步骤

从本质上讲,它的作用是背景层w在每个像素上定义了“白色” 的RGB值。然后,分割层模式会将图像上的值从[0,w]扩展到每个像素到[0,255](请参见GIMP层模式)。

(不良)使用曲线和线性渐变的示例

最初的尝试总是关于复制图层,更改亮度以使底部最暗的部分正确点亮,以及添加具有线性渐变的图层蒙版以仅使较暗的区域变亮。渐变越强,效果越差。

尝试线性渐变

(更好)使用除法的示例

除法产生更好的结果;照明均匀地固定,并且没有烧焦的区域,尤其是在图的左侧。

使用除法


或只是在photoshop中更改级别设置
SaturnsEye 2015年

3
为了获得更好的效果,尤其是在两个方向上的阴影线均不恒定/非线性的情况下,可以拍摄一张白纸的照片,施加一些轻微的模糊以消除相机的噪点,然后使用作为调整层的基础。
PlasmaHH 2015年

1
@SaturnsEye尝试使用上面的输入图像。不起作用;)如果纸张是均匀的灰色,例如10%,则可以,这是最简单的方法。
西蒙·埃格斯特

@PlasmaHH这将需要我使用三脚架来获得一致的距离,但这是一个很好的解决方案,尤其是对于涂满油漆的照片。无论如何,纸的背面通常都是白色的,因此可以用于调整层。(我们使用不同种类的纸张,并使用不同的灰色/棕色阴影)。
西蒙·埃格斯特

@ SimonA.Eugster:如果我不时要做这些事情不止一次,那么无论如何我都会使用三脚架和可重现的照明装置来获得一致的结果。
PlasmaHH 2015年

5

该答案基于Ilmari Kanoren的答案描述了我所知道的atm最快,最可靠的方法。它是半自动的;自动遮罩不适用于下面的硬图像,因为图形的某些部分没有边缘。

此Gimp脚本可自动执行步骤3和4(请注意,需要使用Resynthesizer),因此工作流程仅为:创建选择,运行脚本。该脚本需要6秒钟才能在我3岁的笔记本电脑上完成15 MP图像。

在此处输入图片说明

步骤1(可选):调整深黑色曲线

黑点

步骤2:选择对象

在Gimp中,快速蒙版Shift+Q是一种快速的方法。用铅笔N将对象涂成白色,再按Shift+Q一次,将遮罩转换为所选内容。

选择对象

步骤3:重新创建背景

  • 复制图像并缩放到400×400像素
  • 使用“ 修复选择”或“ 内容感知”填充来修复对象(仅保留背景)
  • 使用高斯模糊,40×40 px
  • 将图像缩放回原始大小,然后作为图层复制回原始图像

背景

步骤4:分割模式

如果需要,将图层模式设置为“ 分割”并稍微降低不透明度。

固定图片


1

这是摄影论坛,所以我将采取摄影方法。当然,对于完美的白色,您可能仍需要进行一些后期制作调整。

您可以尝试使用自然光来代替闪光灯。避免阳光直射,也不要太靠近窗户,而要远离窗户2米。这是为了减少图形最接近和最远部分之间的光差。(但是,由于这是一个很小的图像,因此距离可能并不那么重要。)

您可以将三脚架指向下方,然后将图形放在地板上。

或者,如果没有三脚架,则可以安排书套或谷物盒,将图像垂直放在桌子上,然后将相机稳定地放在同一桌子上。(在图纸后面放一张白纸,以避免看到背景图像或纹理。)

您提到的偏光片技术是在玻璃后面有图面时,以及在有明亮物体或反射时。但是,如果您的光源倾斜,则可能不需要使用滤镜。


我知道环境照明。尽管在此距离下镜头很可能已经开始在纸上投射阴影,但可能会在渐变方面产生更好的结果。此处实际上需要偏振器,因为纸张表面不平整,而石墨在您想要的区域更暗的情况下反射光的效果出奇地好; 。
西蒙·埃格斯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.