嘿嘿,几行代码秒出美女素描图

图片

今天上班时,我正在敲代码。女朋友突然发了一张图片给我:

图片

“老公,我也想要一个这样的头像...” 后面跟着一个可怜的表情。

无奈,不管怎样我只好应承下来。

下班回到家中,我准备把这个任务完成了。其实完全可以找个美颜的 APP ,上传图片,点几下就好了。但是作为她心目中的技术大神,我肯定不能这么干,不然干嘛要让我来做这件事情(要深刻理解女生的目的)。

我略加思索,感觉这件事情用 Python 来实现并不困难。

实现步骤

实现需要用到的工具是 OpenCV 库,用 OpenCV 库里面的图片处理接口就能满足需求。

安装 OpenCV 库

安装方法还是我们的老一套:

pip install opencv-python

读取图片

我从手机相册中找了一张照片,发送到微信,然后保存到电脑上。

图片

我们代码的第一步就是要读取这张图片。

import cv2
img = cv2.imread("mv5.jpg")

转换成灰度图片

我们读取的是 RGB 格式的图片。接着,我们将这张图片转换为灰度图片。

gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

转换之后,图片是这样子的:

图片

反转灰度图像

接下来,我们要将灰度图像反转,以便于增强图像的细节。

inverted_image = 255 - gray_image

反转之后,我们得到的图片是这样的:

图片

看起来是不是有点恐怖?

创建铅笔图

最后,我们将反转的图像进行模糊处理,然后再将模糊的图像倒置,最后将灰度图像除以倒置的模糊图像,就可以创建铅笔草图了。

blurred = cv2.GaussianBlur(inverted_img, (21, 21), 0)
inverted_blurred = 255 - blurred
pencil_sketch = cv2.divide(gray_img, inverted_blurred, scale=256.0)

我们使用 OpenCV 显示一下:

cv2.imshow("original", img)
cv2.imshow("pencil", pencil_sketch)
cv2.waitKey(0)

最后输出的图像是这样子的:

图片

总结

别看我写了这么几个步骤,实际上代码也就几行而已。下次妹子问你能不能给她做素描图像,千万别甩一句:用美图秀秀啊!不然你会失去一个妹子的!

 

  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酔清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值