为了快速实现我们的目标,我们就不自己写图片处理程序了,我们直接调用百度AI开放平台提供的接口实现我们的需求。

编码

这一次我们导入如下两个库

# -*- coding:utf-8 -*-

author:菜鸟小白的学习分享

import requests, base64

我们需要进行百度AI开放平台的接口认证,代码如下:

# -*- coding:utf-8 -*-

author:菜鸟小白的学习分享

# 百度AI开放平台鉴权函数

def get_access_token():

data = {

'grant_type': 'client_credentials', # 固定值

'client_id': 'A3ppUrgl6H*******NjDN4Bb', # 在开放平台注册后所建应用的API Key

'client_secret': 'SqaeFpiPPC**********H1lsb0xO3w' # 所建应用的Secret Key

}

res = requests.post(url, data=data)

res = res.json()

access_token = res['access_token']

return access_token

因为百度AI平台提供了多种图像处理方式,请求URL主体都相同,但是传参不同,所以我们需要对不同的处理方式进行参数处理,代码如下:

外汇赠金活动https://www.fx61.com/activities

# -*- coding:utf-8 -*-

author:菜鸟小白的学习分享

def get_config():

img_before = input("请输入当前文件夹下需要处理的图片名称:")

process_action = ['','selfie_anime','colourize','style_trans']

print("支持以下处理动作:\n1:为人像动漫化\n2:图像上色\n3:为图像风格化")

# 处理动作: selfie_anime 为人像动漫化,colourize 图像上色,style_trans 为图像风格化

i = int(input("请输入需要处理的动作:"))

"""

cartoon:卡通画风格

pencil:铅笔风格

color_pencil:彩色铅笔画风格

warm:彩色糖块油画风格

wave:神奈川冲浪里油画风格

lavender:薰衣草油画风格

mononoke:奇异油画风格

scream:呐喊油画风格

gothic:哥特油画风格"""

others = ['','cartoon','pencil','color_pencil','warm','wave','lavender','mononoke','scream','gothic']

j = 0

if process_action[i] == 'style_trans':

print("支持转化的风格有:\n\

1:卡通画风格\n\

2:铅笔风格\n\

3:彩色铅笔画风格\n\

4:彩色糖块油画风格\n\

5:神奈川冲浪里油画风格\n\

6:薰衣草油画风格\n\

7:奇异油画风格\n\

8:呐喊油画风格\n\

9:哥特油画风格\n")

j = int(input("请输入需要转化的风格类型(数字):"))

return img_before,process_action[i],others[j]

我们获取到图片和处理参数之后,就拿着这些信息去请求百度AI开放平台了

# -*- coding:utf-8 -*-

author:菜鸟小白的学习分享

def image_process(img_before, img_after, how_to_deal,others):

# 函数的三个参数,一个是转化前的文件名,一个是转化后的文件名,均在同一目录下,第三个是图像处理能力选择

file = open(img_before, 'rb') # 二进制读取图片

origin_img = base64.b64encode(file.read()) # 将图片进行base64编码

headers = {'Content-Type': 'application/x-www-form-urlencoded'}

data = {

'access_token': get_access_token(),

'image': origin_img,

'option': others

}

res = requests.post(request_url, data=data, headers=headers)

res = res.json()

if res:

f = open(img_after, 'wb')

after_img = res['image']

after_img = base64.b64decode(after_img)

f.write(after_img)

f.close()

最后,我们再把主函数调用写一下

# -*- coding:utf-8 -*-

author:菜鸟小白的学习分享

if __name__ == '__main__':

# 选择输入信息

img_before, process_action, others = get_config()

img_after = img_before.split('.') # 将原文件名分成列表

img_after = img_after[0] + '_1.' + img_after[1] # 新生成的文件名为原文件名上加 _1

image_process(img_before, img_after, process_action,others)

print('done!')

python将图片转动漫_python实现了照片转化为动漫模式相关推荐

  1. python图片转动漫_python实现了照片转化为动漫模式

    为了快速实现我们的目标,我们就不自己写图片处理程序了,我们直接调用百度AI开放平台提供的接口实现我们的需求. 编码 这一次我们导入如下两个库 # -*- coding:utf-8 -*- author ...

  2. 通过python我实现了照片转化为动漫模式,媳妇儿再也不用愁没有好看的头像了~

    ​ 最近某音上的动漫特效特别火,很多人都玩着动漫肖像,我媳妇儿也不例外.看着她这么喜欢这个特效,我决定做一个图片处理工具,这样媳妇儿的动漫头像就有着落了. 编码 为了快速实现我们的目标,我们就不自己写 ...

  3. 通过python我实现了照片转化为动漫模式,对象不用整天去找头像了

    ​ 最近某音上的动漫特效特别火,很多人都玩着动漫肖像,我媳妇儿也不例外.看着她这么喜欢这个特效,我决定做一个图片处理工具,这样媳妇儿的动漫头像就有着落了.编码为了快速实现我们的目标,我们就不自己写图片 ...

  4. python查看图片的源代码_python实现图片筛选程序

    今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片.该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧. 该程序应用有一定特殊条件,因我选择的图片集是工业生产过程中 ...

  5. python将图片转换为字符_python如何将图片转换为字符图片

    简介 一个简单的python程序,将图片转换为字符图片. (为了简便,很多参数写死了,自己看着改吧. (←∀←)) 正文 原图(侵删) 结果图 源码 [更多细节]-->戳这里 #-*- codi ...

  6. python读取图片的格式_python读取图片并修改格式与大小的方法

    本文实例为大家分享了python读取图片并修改文件大小的具体代码,供大家参考,具体内容如下 # Author:NDK # -*- coding:utf-8 -*- from PIL import Im ...

  7. python将图片转为字符_Python将图片转化为字符画

    简介 最近发现一个有趣的操作, 将一张图片转化为字符串的模式来显示! 如图 准备 首先需要安装一个CV模块用来导入图片的#pip install opencv-python 然后明确下程序的设计思路1 ...

  8. python将图片转动漫_python实现图片转换成素描和漫画格式

    本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下 原图 图片转换后的成果 源码 # -*- coding: utf-8 -*- import cv2 f ...

  9. python将图片转动漫_如何把照片变成手绘动漫化?

    看了各位答主的回答,大都是利用 ps 或者是相应的 app 来实现动漫效果的. 其中的原理大同小异,大家看我这篇文章就足够了! 1.普通照片和动漫图片的区别 要想搞清楚怎么变成动漫化风格,首先就要明白 ...

最新文章

  1. Nginx查看并发连接
  2. 汇编中的通用寄存器、标志寄存器、段寄存器
  3. 【杂谈】为什么邀请大家加入硬核知识星球有三AI
  4. opengl 安装_如何使得支持 OpenGL 的 Flatpak 应用和游戏在专有 Nvidia 图形驱动下工作 | Linux 中国...
  5. java lambda 排序_Java8特性:Lambda表达式之概念篇
  6. 漫话:如何给女朋友解释为什么一到年底,部分网站就会出现日期混乱的现象?...
  7. 安卓案例:标签页演示
  8. 如何选指数基金?何时买入指数基金?长投温度如何计算?
  9. 2压缩备份数据库_达梦数据库备份与还原
  10. 哪些话你一开始不信,后来却深信不疑
  11. Python部署虚拟环境的利器——Virtualenv
  12. kafka权威指南-笔记
  13. 135批量抓鸡 依赖 古老得RTCS
  14. matlab二阶系统曲线,基于matlab的二阶系统的阶跃响应曲线分析
  15. 2020年第4季度OKR个人总结
  16. 【Flink】Flink 做检查点 报错 Checkpoint Coordinator is suspending.
  17. 瑞典皇家理工学院计算机学什么,瑞典皇家理工大学学科设置是怎样的?
  18. 怎样在应用中实现自助报表功能?
  19. 蓝桥杯-算法训练 印章
  20. uniapp让ios软键盘-点击-非输入框地方-自动收起

热门文章

  1. pdol链接mysql_MySQL5.7.11免安装版的安装和配置:解决MYSQL服务无法启动问题
  2. mysql主主同步修复
  3. nvarchar(max)和表扫描
  4. 玩转springboot2.x之异步调用@Async
  5. react-native viewpager用法
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的考勤管理系统
  7. 基于JAVA+Servlet+JSP+MYSQL的停车管理系统
  8. 基于JAVA+Servlet+JSP+MYSQL的汽车维修保养管理系统
  9. linux中xy是什么命令,Linux命令中chmod 777 以及drwxr-xr-x分别代表什么意思
  10. js中数字直接点方法会报错,如1.toString()