查看原文
其他

用 Python 绘制谷爱凌的卡通动漫形象,太惊艳了

The following article is from 关于数据分析与可视化 Author 俊欣

作者 | 俊欣

来源 | 关于数据分析与可视化

最近各大社交媒体可是被谷爱凌给刷屏了,就在2月8日上午,她在北京冬奥会自由式滑雪女子大跳台比赛中获得冠军,以从未在赛场尝试过的高难度动作获得了全场最高分。

不仅如此,谷爱凌在17岁时就已经拥有了六十多枚奖牌,仅在2021-2022赛季世界杯就获得了6金2银1铜共9枚奖牌。除了滑雪,还会钢琴、马术、芭蕾,因为喜欢跑步,还差点成为田径运动员

她还是个学霸,以1580分的SAT(美国高中生大学入学考试,满分1600)成绩被斯坦福大学录取。她还涉足时尚界,成为众多时尚品牌和刊物的宠儿。

这不是妥妥的“别人家的孩子”么,怪不得她的母亲也被调侃为是“海淀区妈妈的天花板”。今天小编来带领大家通过Python来绘制谷爱凌的卡通形象图片,最后绘制出来的效果如下图所示

下面我们来看一下具体的代码
raw_img = cv2.imread(fn_raw)
img_resized = cv2.resize(raw_img, (width, height))
cv2.imshow('img_resized', img_resized)

img_gray = cv2.cvtColor(img_resize, cv2.COLOR_BGR2GRAY)
img_blur = cv2.medianBlur(img_gray, 5)
首先我们将输入的图片转换成灰度图,然后进行中值滤波的处理,将每个像素用领域(以当前像素为中心的正方形区域)像素的中值代替,去除掉一些噪声,避免边界点太多,下面便是边界检测了
img_canny_edge = cv2.Canny(img_blur, 80, 160, apertureSize=3)
output

接下去是对边界进行二值化处理,代码如下
_, img_masked = cv2.threshold(img_canny_edge, 100, 255, cv2.THRESH_BINARY_INV)
img_masked = cv2.cvtColor(img_masked, cv2.COLOR_GRAY2BGR)
output

最后就是对图像进行平滑的处理,并且将平滑处理后的图像和前面得到的边缘进行合并,得到最终的卡通形象的图片,代码如下
img_cartoon = cv2.bitwise_and(img_cartoon, img_masked)
cv2.imshow('cartoon-' + edge, img_cartoon)
cv2.imwrite("cartoon-" + fn_raw, img_cartoon)
cv2.waitKey()
output

技术

如何使用Python隐藏图像中的数据

技术

干货满满的python实战项目!

技术

25个Python文本处理案例

技术

Python可视化近90天的百度搜索


分享

点收藏

点点赞

点在看

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存