你好,我是乐博星际。上一篇冰墩墩,大家还是很喜欢嘛。那这篇,我相信你也会喜欢…
公众号:乐博星际少儿编程,原文链接:https://mp.weixin.qq.com/s/1Nr_F_r_35tNy8ROZOdrKA
代码,文末有获取方式噢!
这次呢,我给大家带来的是 5 行代码,生成一张素描图。让自己也是一个素描“大师”。那废话不多说,我们直接先来看看效果吧。
上图的右边就是我们的效果,那具体有哪些步骤呢?
1. 流程分析对于上面的流程来说是非常简单的,接下来我们来看看具体的实现。
2. 具体实现安装所需要的库:
pip install opencv-python
导入所需要的库:
import cv2
编写主体代码也是非常的简单的,代码如下:
import cv2
SRC = 'images/image_1.jpg'
image_rgb = cv2.imread(SRC)
image_gray = cv2.cvtColor(image_rgb, cv2.COLOR_BGR2GRAY)
image_blur = cv2.GaussianBlur(image_gray, ksize=(21, 21), sigmaX=0, sigmaY=0)
image_blend = cv2.divide(image_gray, image_blur, scale=255)
cv2.imwrite('result.jpg', image_blend)
那上面的代码其实并不难,那接下来为了让小伙伴们能更好的理解,我编写了如下代码:
"""
project = 'Code', file_name = 'study.py', author = 'AI悦创'
time = '2020/5/19 8:35', product_name = PyCharm, 公众号:AI悦创
code is far away from bugs with the god animal protecting
I love animals. They taste delicious.
"""
import cv2
# 原图路径
SRC = 'images/image_1.jpg'
# 读取图片
image_rgb = cv2.imread(SRC)
# cv2.imshow('rgb', image_rgb) # 原图
# cv2.waitKey(0)
# exit()
image_gray = cv2.cvtColor(image_rgb, cv2.COLOR_BGR2GRAY)
# cv2.imshow('gray', image_gray) # 灰度图
# cv2.waitKey(0)
# exit()
image_bulr = cv2.GaussianBlur(image_gray, ksize=(21, 21), sigmaX=0, sigmaY=0)
cv2.imshow('image_blur', image_bulr) # 高斯虚化
cv2.waitKey(0)
exit()
# divide: 提取两张差别较大的线条和内容
image_blend = cv2.divide(image_gray, image_bulr, scale=255)
# cv2.imshow('image_blend', image_blend) # 素描
cv2.waitKey(0)
# cv2.imwrite('result1.jpg', image_blend)
那上面的代码,我们是在原有的基础上添加了,一些实时展示的代码,来方便同学们理解。
其实有同学会问,我用软件不就可以直接生成素描图吗?
那程序的好处是什么?
程序的好处就是如果你的图片量多的话,这个时候使用程序批量生成也是非常方便高效的。
这样我们的就完成,把小姐姐的图片变成了素描,skr~。
3. 百度图片爬虫+生成素描图不过,这还不是我们的海量图片,为了达到海量这个词呢,下一篇,带你使用我编写的现成代码下载海量图片。欢迎持续关注公众号:乐博星际少儿编程 我们下次再见!
代码获取- 关注公众号:乐博星际少儿编程后台回复:客服添加客服,获取
乐博星际少儿编程
人材之成,立于幼学而启于妙思;
星际浩瀚,创不止步方行于未来。
如果你对少儿编程感兴趣欢迎,关注公众号:乐博星际少儿编程,后台回复关键词:客服,进行联系。
地址:莆田



