python 人像素描_python实现图片彩色转化为素描
本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下
第一种:
from PIL import Image, ImageFilter, ImageOps
img = Image.open('E:\\picture\\1.png')
def dodge(a, b, alpha):
return min(int(a*255/(256-b*alpha)), 255)
def draw(img, blur=25, alpha=1.0):
img1 = img.convert('L') #图片转换成灰色
img2 = img1.copy()
img2 = ImageOps.invert(img2)
for i in range(blur): #模糊度
img2 = img2.filter(ImageFilter.BLUR)
width, height = img1.size
for x in range(width):
for y in range(height):
a = img1.getpixel((x, y))
b = img2.getpixel((x, y))
img1.putpixel((x, y), dodge(a, b, alpha))
img1.show()
img1.save('E:\\picture\\10.png')
draw(img)
第二种:
from PIL import Image
import os
# 图像组成:红绿蓝 (RGB)三原色组成 亮度(255,255,255)
image = "E:\\picture\\123.png"
img = Image.open(image)
img_all = "E:\\picture\\1234.png"
new = Image.new("L", img.size, 255)
width, height = img.size
img = img.convert("L")
# print(img.size)
# print(img.mode) #RBG
#
# img_get = img.getpixel((0, 0))
# print(img_get) #三原色通道
#
# img_L=img.convert('L')
# print(img_L)
# img_get_L=img_L.getpixel((0,0)) #换算 得到灰度值
# print(img_get_L)
# 定义画笔的大小
Pen_size = 3
# 色差扩散器
Color_Diff = 6
for i in range(Pen_size + 1, width - Pen_size - 1):
for j in range(Pen_size + 1, height - Pen_size - 1):
# 原始的颜色
originalColor = 255
lcolor = sum([img.getpixel((i - r, j)) for r in range(Pen_size)]) // Pen_size
rcolor = sum([img.getpixel((i + r, j)) for r in range(Pen_size)]) // Pen_size
# 通道----颜料
if abs(lcolor - rcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
ucolor = sum([img.getpixel((i, j - r)) for r in range(Pen_size)]) // Pen_size
dcolor = sum([img.getpixel((i, j + r)) for r in range(Pen_size)]) // Pen_size
# 通道----颜料
if abs(ucolor - dcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
acolor = sum([img.getpixel((i - r, j - r)) for r in range(Pen_size)]) // Pen_size
bcolor = sum([img.getpixel((i + r, j + r)) for r in range(Pen_size)]) // Pen_size
# 通道----颜料
if abs(acolor - bcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
qcolor = sum([img.getpixel((i + r, j - r)) for r in range(Pen_size)]) // Pen_size
wcolor = sum([img.getpixel((i - r, j + r)) for r in range(Pen_size)]) // Pen_size
# 通道----颜料
if abs(qcolor - wcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
new.save(img_all)
i = os.system('mshta vbscript createobject("sapi.spvoice").speak("%s")(window.close)' % '您的图片转换好了')
os.system(img_all)
如果报错
可以直接安装
命令pip install Pillow即可
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python 人像素描_python实现图片彩色转化为素描相关推荐
- python照片转素描_python实现图片彩色转化为素描
本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下 第一种: from PIL import Image, ImageFilter, ImageOps img = ...
- python照片转彩色手绘_python实现图片彩色转化为素描
本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下 第一种: from PIL import Image, ImageFilter, ImageOps img = ...
- Python将图片彩色转化为素描
第一种: from PIL import Image, ImageFilter, ImageOps img = Image.open('E:\\picture\\1.png') def dodge(a ...
- python人像绘制_python实现人像动漫化的示例代码
利用百度api实现人像动漫化 百度API地址:https://ai.baidu.com/tech/imageprocess/selfie_anime 技术文档:https://ai.baidu.com ...
- python照片转素描_python实现图片转素描效果代码
python实现图片转素描效果代码,代码如下: # -*- coding:utf-8 -*- import cv2 import numpy as np from tkinter import fil ...
- python怎么编辑图片_python读取图片并修改格式与大小的方法
本文实例为大家分享了python读取图片并修改文件大小的具体代码,供大家参考,具体内容如下 # Author:NDK # -*- coding:utf-8 -*- from PIL import Im ...
- 用python读取图像_Python读取图片属性信息的实现方法
本文是利用Python脚本读取图片信息,有几个说明如下: 1.没有实现错误处理 2.没有读取所有信息,大概只有 GPS 信息.图片分辨率.图片像素.设备商.拍摄设备等 3.简单修改后应该能实现暴力修改 ...
- python 图像分析 边框_Python 去除图片纯色边框(qbit)
前言Windows 10 2004 Python 3.8.3 Pillow 7.1.2 ImageMagick 7.0.10除了 Pillow 以外,qbit 还尝试了 skimage 和 openc ...
- python 切割图_python切割图片的示例
这个小程序可以自己设定行数和列数进行图片切割 import os from PIL import Image def splitimage(src, rownum, colnum, dstpath): ...
最新文章
- php随机跳转,Nginx实现404页面跳转到任意随机页面
- linux中daemonize用法,daemonize Unix系统后台守护进程管理软件
- Linux双机热备解决方案之Heartbeat
- 前端进阶-Event
- $(document).scrollTop()与$(window).scrollTop()
- Easyui+Spring+Mybatis完整示例(后台)
- 11. 给 apache ,nginx 设置变量
- 六、Linux企业级YUM软件管理
- 职中心得体会300字高一计算机,职高毕业生自我鉴定范文300字
- 程序设计C 实验六 结构体 题目四 偷菜时间表
- 微信微粒贷开通什么条件?微粒贷开通方法及流程
- MySQL 报OperationalError: (1130, “XX‘ is not allowed to connect to this MySQL server“)的正确解决方法
- ts定义数组类型_ts基本类型
- JPA中could not insert: 的解决办法
- Hadoop Java对应版本号
- [转载]Cairo 图形指南[转载]
- 2023年深圳技能大赛——大鹏新区潮式风味菜烹饪职业技能竞赛
- 95年计算机专业的电脑,电脑怀旧98年至今20多年买的第一台电脑配置
- Transformer主干网络——DeiT保姆级解析
- Android am与pm命令详解
热门文章
- Pioneer电源维修实践经验分享PM2675A-1-3
- vs登陆界面空白_20190806 退戈、临渊鱼儿、月照溪等作者新文完结|千金VS痞子|女扮男装...
- 公司组织结构图用PPT制作?
- 日语动词活用之未然形
- axure不能导出图片_Axure RP把原型图导出成图片格式的操作技巧
- setTimeout/setInterval与requestAnimationFrame的区别?
- python迭代器面试题_2018年最常见的Python面试题答案(下)
- 声学机器学习:理论和应用 (Machine learning in acoustics: Theory and applications)
- 阿里云备案流程(全新备案)
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II