【问题标题】:how to whiten the white parts and blacken the black parts of a scanned image in MatLab or photoshop如何在 MatLab 或 Photoshop 中将扫描图像的白色部分变白并将黑色部分变黑
【发布时间】:2019-04-06 06:25:15
【问题描述】:

我有一张扫描图像,是从打印的 word (docx) 文件中扫描的。我希望扫描的图像看起来像原始的 word 文件,即去除噪声和增强。即把白色部分完全变白,把黑色部分完全变黑而不改变文件上的彩色部分enter image description here

【问题讨论】:

  • 您有什么理由要润色这张图片吗?对我来说看起来很不错。它具有不错的分辨率,颜色,并且非常易于阅读。我无法想象扫描过程中的少量噪音会对大多数人(或可能需要读取此内容的机器)造成问题。
  • 我想打印的图像看起来应该与从 word 文件中提取的打印完全一样。通常情况下,白色背景和黑色文本在扫描图像中看起来并不是真正的黑白。

标签: image noise


【解决方案1】:

有很多方法可以解决这个问题。最简单的方法是应用一个级别过滤器,将黑点提高一点,白点降低一点。这可以对所有 3 个颜色通道进行,也可以选择性地对一个子集进行。由于您要创建纯黑色和白色并且图像上没有偏色,因此我会将相同的设置应用于所有 3 个颜色通道。它的工作原理是这样的:

destVal = (srcVal - blackPt) + srcVal / (whitePt - blackPt);

这会稍微改变图像的彩色部分,可能会导致它们稍微或多或少饱和。

我在一个照片编辑应用程序中尝试了这个,但对结果感到失望。通过将白点降低到大约 66%,我能够消除大部分噪音。然而,左上角的标志太细了,最后也变成了很白。黑点其实不需要移动。

我认为您将很难使用该徽标。不过,您可以将其与其他更改隔离开来,这可能会有所帮助。在它周围的一个简单的圆形区域,您只需忽略任何处理可能就可以解决问题。

但我开始思考 - 这是用 Word 制作的。你有Word的副本吗?将几乎相同的布局放在一起可能不会太难。它仍然对徽标没有帮助。但是您可以做的是将文本布局相同并将其导出为 PDF 或其他图像格式。 (或者如果您能找到原始模板,直接使用它。)然后您可以编写一些代码来处理您的扫描副本,并且无论像素是灰度(红色 = 绿色 = 蓝色),使用您制作的版本中的相应像素,否则使用扫描中的像素。这会让你得到所有的邮票和签名,同时让文字漂亮而清晰。也许您甚至可以在网上找到该组织的徽标。事实上,维基百科甚至有一个copy of their logo

您可能需要为灰度设置某种阈值,因为某些像素可能接近但有轻微的偏色。一种选择可能是这样的:

if ((fabs(red - green) < threshold) && (fabs(red - blue) < threshold))
{
    destVal = recreationVal; // The output is the same as the copy you made manually
}
else
{
    destVal = scannedVal; // The output is the same as the scan
}

您可能会发现这会侵蚀一些彩色标记,因此您可以对输出进行第二次扫描,其中与彩色像素相邻的任何像素都会从原始扫描中引入相应的像素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 2019-07-01
    • 1970-01-01
    相关资源
    最近更新 更多