美文网首页Python与机器学习
用Python给高斯的帽子换颜色 - 你妈妈都能看懂

用Python给高斯的帽子换颜色 - 你妈妈都能看懂

作者: Jeru_d39e | 来源:发表于2018-02-11 12:25 被阅读332次

首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他名字相关的一堆函数。

开始正文之前,让我们再来膜拜一下19岁的高斯如何用一把圆规和没有刻度的尺子画出正十七边形。

下面我就拿高斯这张肖像画作为示例如何用Python将他帽子的颜色换了。

计算机分析图片不可能像人类的肉眼一样进行观察,再用右脑进行思考,它能识别的只有数字,下面我们从计算机的角度来对图片做一个简单的认知。

机器的认知中任何一个图片都是由很多像素排列组成,每个像素点就是图片组成的最小原子,因此图片可以看作是一个二维数组,包含坐标和颜色。
其中坐标可以继续拆成一个二维数组分别是X轴和Y轴,而颜色用RGB来表示则可拆解为红绿蓝三维数组。

我先用python来几行简单代码把数学王子的照片转化为数组看看到底是什么内容。

看看打印结果的输出,这张图的像素有607行(宽度),474列(高度),也就是287718个像素组成了这张图片。我再用photoshop打开这张图片看看像素大小,完全匹配。

打印像素 核对像素

接下来再来几行代码把整张图片的矩阵打印出来看看,同时用photoshop框选一下高斯帽子的范围,大概是两个矩形的拼接,在此范围内我也挑几个点(帽子,皮肤,背景)打印出来看看。
为何是两个矩形? 因为大神的眼珠也是黑色和帽子比较相似,所以绕道划取范围。

选取范围 采样打印 打印矩阵

简单分析一下规律,其实帽子,背景,皮肤的颜色色差还是比较明显的。为了让帽子从黑色变成红色就把RGB定为(200, 20, 20)
先来两个两重循环把两个长方形拼接的范围都替换掉,重新调出图片看看效果,已经成功刷上红色了,接下来就要看如何更精准的上色。

接下来判断一下这个范围内的像素颜色哪些应该替换哪些应该保留。随便根据经验设置一下参数,看看效果再调整几次。
我选择的判断条件是RGB均小于45, 比较保守,因为画多了比较麻烦,画少了还可以修复。
运行一下,果然按这个参数上色后覆盖不均匀,于是我加了个简单粗暴的颜色扩散方法,判断一下左右两边或者上下是否有红色,有则替换当前像素为红色。
对比间距从大到小(10, 5, 2)修复了三次后效果就差不多了。

到此为止帽子的边缘还比较毛糙,颜色扩散的方式也比较粗暴,下一篇再研究如何用OpenCV的Canny Edge Detection勾画图案边缘,用Gaussian Blurring(看,高斯的名字又出现了)平滑处理交界处。

相关文章

  • 用Python给高斯的帽子换颜色 - 你妈妈都能看懂

    首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米...

  • 换种颜色戴帽子

    帽子,一种戴在头部的服饰,有遮阳、装饰、增温和防护等作用。市场上帽子的种类也特别多,例如高帽、太阳帽、大礼...

  • 墙面刷上蓝色漆,家里美丽又安静

    知道吗,墙面装修做的好,整个家的颜值都能获得提升,如果你看腻了自家的大白墙,正想换一换墙面,不妨换一换墙面颜色。 ...

  • 怎么用Photoshop给美女长发换颜色?

    换颜色的方法也比较简单,过程:先用工具把人物头发区域选取出来;然后用调色工具改变颜色,亮度等;最后加强一下高光及暗...

  • 26 Noise Layers

    本篇介绍的内容主要是给输入数据加入高斯噪声的。高斯噪声是指噪声数据服从高斯分布。一般图像处理都是用高斯噪声过滤器进...

  • 换帽子

    奶奶说小淘孩的帽子不好看,又给他做了个带花边的。

  • 帽子小姐·宝贝不哭

    妈妈回家给帽子小姐带了好几套红色的小棉袄。 每天轮着穿,帽子小姐可高兴了。 今天,要到舅老爷家拜年。 妈妈给帽子小...

  • 帽子小姐·“我们去公园拍照!”

    “宝贝,你今天100天啦~开心吗?” 妈妈边给帽子小姐换衣服边问她。 开心! 帽子小姐挥舞着小手,冲妈妈咧嘴笑了。...

  • 零基础学习Python,新手都能看懂Python基础教程

    零基础学习Python,新手都能看懂Python基础教程 其实编程语言理论有很多都是相通,不同都是各自的差异化。 ...

  • 云南

    我在海边拿着妈妈的帽子,我往妈妈那边跑,之后我把帽子给扔了过去,妈妈说:“不准。”然后妈妈的嘴巴就被我的手给捂住了...

网友评论

    本文标题:用Python给高斯的帽子换颜色 - 你妈妈都能看懂

    本文链接:https://www.haomeiwen.com/subject/abektftx.html