当我在空白区域进行类似检查时在这篇文章的图片中,我什么也没看到,即它起作用。
我的目标是显示电池的图像,但要确保不会看到或检测到诸如电池序列号之类的个人信息。在互联网上分享信息可能是一个很小的问题,但不是非零安全问题。
我松了一口气,但想知道以后是否可以参考,以确保空白区域完全被空白:
问题:图像准备工作流程的哪些方面会导致类似鲍里斯·约翰逊(Boris Johnson)的10号推文“隐藏消息”的事故?为了避免像这样的意外隐藏残留物,应避免做的最突出的事情是什么?
import numpy as np
import matplotlib.pyplot as plt
# https://twitter.com/BorisJohnson/status/1325133262075940864/photo/1
# https://order-order.com/2020/11/10/number-10s-message-to-biden-originally-congratulated-trump/
# https://pbs.twimg.com/media/EmPRWjyVoAEBIBI?format=jpg
# https://pbs.twimg.com/media/EmPRWjyVoAEBIBI?format=jpg&name=4096x4096
# https://twitter.com/BorisJohnson/status/1325133262075940864
img = plt.imread('biden.png')
average = img[20:100, 20:100].mean(axis=(0, 1))
imgx = (img[..., :3] - average[:3]).clip(-0.005, 0.005) + 0.005
imgx = imgx.sum(axis=2) # monochrome
imgx /= imgx.max() # normalize
plt.imshow(imgx, cmap='cool')
plt.show()
#1 楼
摘要:最可能的解释是使用模糊或平滑的橡皮擦工具删除了旧文本。
分析:
在下面的图像中,我仅增加了亮度和对比度以使“隐藏消息”更加明显。没有什么花哨。轻微的红色只是由于原稿的黑色背景具有非常小的红色。
您可以看到,在最明显的隐藏区域中存在非常清晰的渐变。文本片段(在“共享优先级”下)。其他片段也显示出一些渐变的迹象,但是关于拜登的文字没有使用渐变效果。
假设:
这些看似随机的渐变以及“隐藏消息”似乎由事实组成较大文本的小随机碎片的组合使我认为,制作此图片的人都使用模糊橡皮擦工具删除了旧文本。他们手动在文本上来回滑动橡皮擦工具,直到不再看到旧文本为止。但是,如果您只快速跳过了一次,模糊橡皮擦工具就无法删除所有内容。这是设计使然,以避免出现图像的尖锐边缘。
在下图中,我在原始图像上来回滑动了一个大的模糊橡皮擦几次,以显示结果。显然,在我的图片中,某些部分仍然有点可见,但是我仍然认为它可以很好地了解这可能导致什么类型的影响。
解决方案:
不要使用模糊橡皮擦工具删除要完全删除的内容。在这种情况下,根本不需要使用橡皮擦工具。只需用背景颜色填充整个图像,甚至更好,只需从头开始创建新图像即可。他们唯一要保留的是尺寸和背景色,只需几秒钟即可复制到新图像中。
更新:
按照@Tristan在评论中的要求,我试图完全复制该过程。这是一张图片,其中我使用模糊橡皮擦工具删除了Biden / Kamala文字,然后在其上方放置了新文字:
这是同一张图片,但是亮度和对比度增加了突出显示旧文本的残留:
评论
到目前为止,这绝对是最合适的选择。它解释了为什么我们有部分字母,在这些字母上有一个渐变,以及只有几个单词而剩下的东西。
– Tristan
20/11/11在14:48
真好!我想知道是否曾张贴过带有“特朗普”文字的原始图像。
– Dewi Morgan
20/11/11在23:04
黄金的东西。这也表明,鲍里斯·约翰逊(Boris Johnson)当前确实是数字“ 1 0”,如美丽的艾伯特斯(Albertus)所示。谁是第一名?
– David Tonhofer
20/11/11在23:07
在这种情况下,Comic Sans很不错。 (我从没想过我会写这句话。)
– Federico Poloni
20-11-12在9:56
对他们而言,这比“文件”>“新建”更容易吗?它使心灵感到困惑
–布莱恩·博特彻(Bryan Boettcher)
20 Nov 13 '17:47
#2 楼
起初我以为这只是个骗局,因为我知道没有任何数字图像处理可以偶然地做到这一点,但是我对此很感兴趣。拍摄原始图像并对其进行均衡确实确实消除了替代碎片。它还显示黑色背景不是真正的黑色,而是密集的减色原色的组合。因为该消息是在彩色激光打印机上打印并照相(或扫描)的。
请注意青色,洋红色,黄色残留物。
“隐藏消息”是先前打印后留下的一点点结果硒鼓上的碳粉已被下一次打印吸收。这在具有双面打印功能的打印机中最常见。
那么如何预防呢?不要照相纸来产生数字内容。
评论
据我所知,原始图像的背景是纯色,不确定嘈杂的背景从哪里来
–艾伦·比特尔斯(Alan Birtles)
20/11/11在11:16
这种信息泄漏是可怕的。我可以很容易地想象到,国家机密已被打印在打印机上,因此意外地进入了互联网!
–艾默德·陶菲克(Ahmed Tawfik)
20/11/11在11:27
您发布的图像中的噪声很可能是均衡算法的伪像。它肯定不存在于原始版本中。更重要的是,“隐藏消息”比背景明亮。当然,最后一次打印时残留的碳粉只会使打印件变暗吗?
– jkej
20-11-11的13:26
使用朴素的填充工具(即仅替换您单击的确切颜色的工具)即可轻松显示文字。这将替换背景,但留下了不正确的文本和一些jpg工件。如果@ user10216038具有正确的解决方案,这不是您期望的行为,并且可以更好地适应以下建议
– Tristan
20 Nov 11在14:01
对不起,但是这种解释是荒谬的。谁来打印图像然后扫描以用于推文中?即使忽略了非常令人难以置信的过程,也不可避免地会产生图像失真,这些失真在图像中是不可见的。
– IMil
20/11/11在23:28
#3 楼
我希望解释是相当平凡的。图像可能准备了3层:背景色和页脚文本
特朗普文本
拜登文本
然后可以生成这两种消息通过隐藏第2层或第3层而具有相同的外观。我想象这里发生的事情是通过降低不透明度并将图像的不透明性意外地设置为接近0而不是0来准备将图像隐藏在第2层的人。人工制品,您将在推文中看到结果。
遵循此过程并创建JPEG会得到如下图像:
我确定您可以摆弄不透明的程度(我使用了1.6%)和JPEG质量,并获得了这样的结果,即替代文本在肉眼中不太明显,但仍然存在于图像中。
这是一个具有较低不透明度值的示例,较小字体中的“小文本”与“拜登”部分重叠,较小的文本被JPEG伪像淹没,而“特朗普”幸免。
q43 12010q
您可以通过准备两个单独的图像或在一个图像中使用图层时稍加注意来避免这种情况。
评论
但是,这将使整个底层消息可见。相反,我们只有几个字符,其中一些只是部分字符
– Tristan
20 Nov 11'在14:03
@Tristan不一定是如果文本比我的示例模糊得多(我特意选择了一个可以用肉眼看到的值来说明这一点),但是许多文本可能会消失在JPEG伪像中
–艾伦·比特尔斯(Alan Birtles)
20/11/11在14:06
该图像还可能经过了几代JPEG压缩,一次是在创建图像时发生的,一次是在将图像上传到Twitter上时至少发生了一次,尤其是在调整了图像大小的情况下
–艾伦·比特尔斯(Alan Birtles)
20 Nov 11'在14:26
距离更近了,但是@Tristan有一个好处。即使将jpg伪像,抗锯齿和重新压缩考虑在内,“共享优先级”(“这是未来吗?”)下方小文本上的均匀梯度似乎也不适合这种方法。即使是微弱的版本也可以在我的显示器上立即读取-但是大概你仍然可以变得更加不透明
–克里斯H
20 Nov 11 '14:43
是的,也许我对管理我们国家的人们给予了太多的技术赞誉,橡皮擦的解释似乎更有可能
–艾伦·比特尔斯(Alan Birtles)
20 Nov 11在14:55
#4 楼
在这种情况下,虽然可能不是原因,但从理论上讲,这也可能是使用故意泄漏编辑信息的工具造成的。在2008年Underhanded C竞赛中,参与者被要求编写泄漏图像信息的图像编辑工具关于用(传统上为黑色)矩形删除的图像部分。并以一种隐蔽,可否认的方式做到这一点。
评论
有趣的阅读!是否可以在此处添加一两个句子,从而直接回答所提出的原始问题?谢谢!
– uhoh
20-11-13在10:45
评论
@MarkMorganLloyd我不能不同意这种观点,但是这(最好,并且在措辞上有一些调整)适合于政治。这与其他各种“如何不编辑”和相关问题相吻合@ChrisH是的。我只是想知道“如果它们能弄得这么糟,我会不会擦除!”
我建议这不是您所说的“技术性”问题。当然,“图像准备工作流程”的重要部分有两个方面:首先,不应有任何内容:将图形作为文本发布几乎没有帮助。无论哪种方式,技术性都没有引起人们的注意,这几乎不是IT问题,除非user10216038对剩余的墨粉完全正确。
哦,老兄。那肯定是一个缓慢的新闻日。