900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 帅爆! 赛博朋克特效实现

帅爆! 赛博朋克特效实现

时间:2020-05-02 06:57:36

相关推荐

帅爆! 赛博朋克特效实现

资料获取:添加小编 nvshenj125, 备注CVPR, 即可获取 CVPR 全部论文

大家好,我是阿潘,今天跟大家分享一个赛博朋克特效的实现算法

为了写好这篇文章, 找了很多资料, 如果对你有帮助的话, 帮忙分享一波, 支持一下, 感谢!!!

主要内容:

1、什么是赛博朋克风格

2、PS 如何做出赛博朋克风格

3、使用opencv 实现

1、什么是赛博朋克风格

根据维基百科上面的描述:赛博朋克(Cyberpunk)是反乌托邦未来主义背景中的科幻小说的一个子流派,倾向于关注“下层社会生活和高科技的结合”,以人工智能和控制论等未来主义技术和科学成就为特色,与社会崩溃、反乌托邦并列或衰退

/wiki/Cyberpunk

英文原文:

Cyberpunk is a subgenre of science fiction in a dystopian futuristic setting that tends to focus on a "combination of lowlife and high tech",[1] featuring futuristic technological and scientific achievements, such as artificial intelligence and cybernetics, juxtaposed with societal collapse, dystopia or decay

欣赏一下

2、PS 如何做出赛博朋克风格

上面描述赛博朋克的定义,但是我们想要的是赛博朋克的风格实现,因此,需要查了一下,在利用 p 图软件(PS)中是如何实现的。

简单来说,我们需要了解赛博朋克的画风具体是什么样子的。

赛博朋克风格在视觉设计中的特点就是蓝、紫、青等冷色调为主色调,霓虹灯光感效果为辅助,故障艺术风为辅助(图像的失真、错位、破碎等) ,有时还可以加一些异常的现象比如180度翻转的建筑,还有复古风和未来风并存。

具体思路:

1、让画面呈现冷色调

2、具有对比效果的冷暖色调,颜色花哨(色相、饱和度、明亮度)

2.1 让红色更偏洋红,橙黄色都往红色靠拢,蓝色紫色都偏青

2.2 所有的颜色往洋红和青蓝色上面调

2.3 再加一层纯色滤镜,颜色选择偏紫色,介于蓝色红色之间,可以更好的平衡色彩

/question/269194796/answer/65989

以上是PS 大佬的 PS 具体操作流程,翻译成自己能理解的技术方案

1、opencv 实现冷色调

2、让整体图片往一些特殊的颜色上靠

3、使用opencv 实现

首先介绍一个好用的网站:

/colors/colors_hsl.asp

可以直接通过调整HSL空间的值,来查看 RGB 色彩空间对应的值,比起放公式,会直观很多。

另外简单介绍一下,我们这里会用到的两个色彩空间,HSL 和 LAB(主要目的是为了让我们将颜色映射到目标颜色的值区间,下面会考 )

HSL 色相(Hue)、饱和度(Saturation)、亮度(Lightness)

LAB 亮度(L)、绿红(a)、蓝黄(b)

这里需要注意的是,很多内容都会提到这两个色彩空间,以及对应的值范围,但是在 opencv 中 会值做一些特定的映射!!!

例如,我们上面提供的工具网页 w3school ,显示的 hsl 的值范围和实际上 opencv的值范围并不一样(这里你可以试着写一个代码来验证)

h : 0 - 360 ⇒ OpenCV range = H/2 (0 > H > 180)s:0-1⇒OpenCVrange=255*S(0>S>255)l : 0 - 1⇒ OpenCV range = 255*l (0 > S > 255)

对于 Lab 也是如此

0 > L > 100 ⇒ OpenCV range = L*255/100 (1 > L > 255)-127 > a > 127 ⇒ OpenCV range = a + 128 (1 > a > 255)-127 > b > 127 ⇒ OpenCV range = b + 128 (1 > b > 255)

为了更加清晰的看到不同色彩空间中,每个通道对分离并查看其对最终显示效果的贡献(以下示意图来源:/ )

HSV(因为没有找 HSL,所以用 HSV 代替)

原始图像 (a) 及其颜色通道:色调 (b)、饱和度 (c) 和值或亮度 (d)。在第二行,每个通道分别为灰度(单通道图像)。

L*a*b or CIE Lab

原始图像 (a) 及其颜色通道:亮度 (b)、a 维 (c) 和 b 维 (d)。在第二行,每个通道分别为灰度(单通道图像)。

这个时候,可能会有一个疑问,这有什么用?

以 Lab 为例,可以看到:

a 维度(c图) 控制颜色的变化范围是 绿 --> 红

b 维度(d图) 控制颜色的变化范围是 黄 --> 蓝

对照 Lab 的色彩空间(就是那个球),以及我们目标的颜色范围(蓝、紫、青、红),那么我们只需要将对应色彩空间中的值,调整到目标颜色的范围即可实现!!!

现在梳理一下我们的目标:

1、将图片调整成冷色调、

2、可以利用 hsl 将颜色值控制在 (蓝、紫、青、红) 的区间,通过 w3schools 网站可视化,我们可以看到 (蓝、紫、青、红)的值范围是在180-360,映射到opencv中的值范围就变成了 90-180

3、同样的,利用 Lab 再次调整颜色到目标颜色的值范围(个人感觉另一个目的是通过不同色彩空间的调整让最终结果色彩更加的丰富)

效果展示& 参考资料

原图:

效果图:

看到这里的小伙伴,可以赏个三连(点赞 + 在看 + 分享),代码部分将会在下周分享出来(周末搞一波!!!)

参考资料:

/p/7058debaaf2f

/wiki/Cyberpunk

/question/269194796/answer/65989

/sinat_26917383/article/details/70860910

/colors/colors_hsl.asp

/lysslq/article/details/124987039

/en-us/windows/win32/wcs/hls-color-spaces

/weixin_48623445/article/details/119395509

//11/opencv-color-spaces-splitting-channels/

/color-spaces-in-opencv-cpp-python/

/howarder3/ironman_OpenCV_photoshop/blob/master/Day06_%E8%AA%BF%E6%95%B4%E8%89%B2%E8%AA%BF%E8%89%B2%E6%BA%AB%E7%99%BD%E5%B9%B3%E8%A1%A1_modify_color_temperature.ipynb

/wiki/HSL_and_HSV#HSL_to_RGB

https://sensing.konicaminolta.asia/what-is-cie-1976-lab-color-space/

/p/158524543

努力分享优质的计算机视觉相关内容,欢迎关注:

交流群

欢迎加入公众号读者群一起和同行交流,目前有美颜、三维视觉、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群

个人微信(如果没有备注不拉群!)请注明:地区+学校/企业+研究方向+昵称

下载1:何恺明顶会分享

在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析

下载2:终身受益的编程指南:Google编程风格指南

在「AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!

下载3 CVPR在「AI算法与图像处理」公众号后台回复:CVPR,即可下载1467篇CVPR论文 和 CVPR 最新论文

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。