前言
“我是一个正经的Python程序员
也是一个有温度的人” ——Python是世界上最好的语言(不接受反驳)
之前,很多人都来问做程序员的我:
女友的头像到底怎么换才能让她满意??!!(世纪难题)
这段时间,更新的速度一直很慢,这不今天有时间好好给大家唠唠嗑。
事情是这样子的:
一个小伙子跟我讲最近他的女朋友频繁换头像,一直闹着他也要跟着换,无感无感,换来换去是真
的挺麻烦的,他还不敢说。
小伙子这强烈的求生欲让我今天做了这款小程序——真人转人物动漫风格的小程序。
扫描二维码关注公众号,回复:
13454433 查看本文章
这不?刚做好的小程序拿给小伙子用了,他女友直夸他有眼光!
那么我们来看看到底是怎样的程序吧!!
Show Time
1)效果展示如下——
(参数可调节,大家喜欢多少随便调试)
1.1 第一组漫画风格(参数7、4)
1.2第二组漫画风格(参数3、4)
1.3 多组参数随机
那么这个是怎么做到的呢?我们来开始准备环境,敲敲代码!
2)代码演示
print('\n---------- 漫画风格图片转换器 ----------\n')
imgInput = input('请输入需要转换的图片文件路径:')
a = input('请输入图片的模糊参数值(奇数,数值越大越模糊,风景类推荐值29,肖像类推荐值7):')
b = input('请输入图片的线条参数值(大于零时数值越小线条越明显,小于零时图片为暗色,风景类推荐值5,肖像类推荐值4):')
#以上是运行程序之后输出的文字
imgPath = imgInput.split(".")[0] + '_cartoon.' + imgInput.split(".")[1]
img_initial = cv2.imread(imgInput)
img_vague = cv2.medianBlur(img_initial, int(a))
img_gray = cv2.cvtColor(img_vague, cv2.COLOR_RGB2GRAY)
img_line = cv2.adaptiveThreshold(img_gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, blockSize=int(a), C=int(b))
img_line = cv2.cvtColor(img_line, cv2.COLOR_GRAY2RGB)
imgOutput = cv2.bitwise_and(img_vague,img_line)
cv2.imwrite(imgPath,imgOutput);
print('文件保存在' + imgPath) #文件保存在统一目录下
如下图是输入的格式不会的小伙伴儿照输入即可:
小结
OK,今天的小程序写到这里,你看?要不拿去哄哄女朋友康康!
粉丝交流
欢迎转载、收藏、有所收获点赞支持