他们是如何给老黑白电影上色的?

信息处理 matlab
2021-12-29 00:02:49

这个问题在 dsp.SE 上,因为我最感兴趣的是信号处理部分。

有一部印度电影Mughal-e-Azam于 1960 年以黑白形式发行,并于 2004 年进行了彩色复制。

  • 他们如何完美地为每个像素着色?
  • 他们使用什么技术来识别每个像素上的颜色位置?

看看电影中的其中一张截图:

电影截图

我有一张要着色的爱因斯坦黑白照片。在不知道他当时穿着什么以及他的衣服、背景等的实际颜色是什么的情况下,怎么可能做到这一点。

3个回答

无法从黑白照片中恢复原始颜色信息,因此爱因斯坦(分别是 Waheeda Rehman)是穿着粉色还是绿色毛衣(分别是 Dupatta)取决于您的想象。

从历史上看,这一直是手工完成的,通过在胶片上绘画。第一个自动化该过程的数字技术包括在每个帧上“绘制”几个颜色点,在每个均匀着色区域的中心,并使用类似 voronoi 分区 + 一些模糊来获得每个帧的颜色图(参见例如美国专利 4606625)。

今天,这可以通过视频编辑软件相对容易(尽管手动)完成,通过使用矢量蒙版来指示几个关键帧上的统一颜色区域,并在它们之间进行插值。然后对每个蒙版应用颜色变换。在这里查看它的实际应用

标准图像分割和区域跟踪技术可用于自动化分割任务和每个关键帧上的区域标记 - 例如通过将手动注释传播到空间/时间中的相似/相邻像素,或通过检测均匀纹理区域纹理和灰度级相似性可用于将颜色线索从彩色图像传播到描绘相似主题的灰度图像- 在这种情况下,手动过程仅包括查找模板彩色图像 - 后面的任务本身可以使用内容自动化 -基于图像检索技术

我只读过这个,距离我看到任何印刷品已经至少 15 年了,但我知道使用了许多算法。

首先,如前所述,一些电影是通过手工为每一帧着色而着色的。(《乱世佳人》的前几分钟就是这样完成的,在决定用彩色拍摄其余部分之后。)

之后,使用了多种技术,均基于计算机图像处理。最简单的方法是将胶卷分成单独的场景,每个场景的相机都不会改变,然后让计算机算法识别不同强度的区域。计算机显示器上的某个人查看场景的前几帧并设置每个区域的颜色,然后计算机将该颜色传递到场景的其余部分,假设识别的区域不会快速变形,以至于与它们的连接分配的颜色将丢失。这种技术通常仅限于为主要演员和基本背景着色,因为大多数电影中的场景变化如此之快,

更复杂的技术使用图像识别算法来识别(例如)一个人,将背景与前景分开等。然后可以在更全局的基础上分配颜色,并且可以在演员从阴影到光线移动时实现某种程度的阴影,等等。而且,由于该方案可以在单个场景之外工作,因此可以投入更多精力让人类最初设置颜色,因此可以使用更多样化和更生动的调色板。

我猜想(虽然我从未读过)现在可以使用类似于计算机动画的技术,基于用于动画动作电影的技术。可以在原始电影上使用一种动作捕捉,然后制作动作的计算机动画。通过一些仔细的“混合”,可以在使用动画生成的颜色时保留原始电影的细节。

BBC 通过解码彩色点来恢复以前只有黑白副本的彩色电影,从而发现了这种方法。他们能够将颜色恢复到原始颜色。

来源:http ://www.youtube.com/watch?v=CjK-b4x9ZmQ