鱼C论坛

 找回密码
 立即注册
楼主: jerryxjr1220

[技术交流] python小练习(081):让python学画铅笔素描

  [复制链接]
 楼主| 发表于 2017-5-6 17:27:02 | 显示全部楼层
当回首遇上转身 发表于 2017-5-6 17:23
PIL 不支持Python3。。。。。。。。。。。

支持的,你可能是没有正确安装
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-16 00:11:56 From FishC Mobile | 显示全部楼层
我勒个去,大神这服呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-16 10:26:49 | 显示全部楼层
厉害呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-18 22:39:40 | 显示全部楼层
这个厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-18 23:04:12 | 显示全部楼层
膜拜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-19 09:36:57 | 显示全部楼层
好好学习,天天向上,楼主有才
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-8 04:29:22 From FishC Mobile | 显示全部楼层
好奇
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-8 15:54:10 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-8 17:12:15 | 显示全部楼层
#我把程序装饰了一下,完成以后会说话,哈哈
# -*- coding: utf-8 -*-
#python3 下安装pil要用 pip install pillow命令
from PIL import Image
from random import randint
import os


需要转换的文件名='01-01.jpg'
新文件名='素描'+需要转换的文件名
old = Image.open(需要转换的文件名)
new = Image.new('L', old.size, 255)
w, d = old.size
old = old.convert('L')
# Define the size of the pencil:
PEN_SIZE = 3
COLOR_DIFF = 7
LINE_LEN = 2

for i in range(PEN_SIZE + 1, w - PEN_SIZE - 1):
    for j in range(PEN_SIZE + 1, d - PEN_SIZE - 1):
        originalcolor = 255
        lcolor = sum([old.getpixel((i - r, j))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        rcolor = sum([old.getpixel((i + r, j))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        if abs(lcolor - rcolor) > COLOR_DIFF:
            originalcolor -= (255 - old.getpixel((i, j))) // 4
            for p in range(-LINE_LEN + randint(-1,1), LINE_LEN + randint(-1,1)):
              new.putpixel((i, j+p), originalcolor)

        ucolor = sum([old.getpixel((i, j - r))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        dcolor = sum([old.getpixel((i, j + r))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        if abs(ucolor - dcolor) > COLOR_DIFF:
            originalcolor -= (255 - old.getpixel((i, j))) // 4
            for p in range(-LINE_LEN + randint(-1,1), LINE_LEN + randint(-1,1)):
              new.putpixel((i+p, j), originalcolor)

        lucolor = sum([old.getpixel((i - r, j - r))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        rdcolor = sum([old.getpixel((i + r, j + r))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        if abs(lucolor - rdcolor) > COLOR_DIFF:
            originalcolor -= (255 - old.getpixel((i, j))) // 4
            for p in range(-LINE_LEN + randint(-1,1), LINE_LEN + randint(-1,1)):
              new.putpixel((i-p, j+p), originalcolor)

        rucolor = sum([old.getpixel((i + r, j - r))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        ldcolor = sum([old.getpixel((i - r, j + r))
                      for r in range(PEN_SIZE)]) // PEN_SIZE
        if abs(rucolor - ldcolor) > COLOR_DIFF:
            originalcolor -= (255 - old.getpixel((i, j))) // 4
            for p in range(-LINE_LEN + randint(-1,1), LINE_LEN + randint(-1,1)):
              new.putpixel((i+p, j+p), originalcolor)

new.save(新文件名)
i= os.system('mshta vbscript:createobject("sapi.spvoice").speak("%s")(window.close)' %'素描已完成')
os.system(新文件名)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-25 15:20:13 | 显示全部楼层
还得学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-25 15:22:41 | 显示全部楼层
希望能贴一些注释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-25 16:41:29 | 显示全部楼层
感谢分享,进来学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2017-6-26 09:58:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-26 10:02:47 | 显示全部楼层
膜拜教程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-2 10:55:42 | 显示全部楼层
11111111111111111111111111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-17 21:57:53 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-18 14:10:39 | 显示全部楼层
这个厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-18 14:17:20 | 显示全部楼层
这是要成神的节奏啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-18 14:33:05 | 显示全部楼层
想学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-23 10:05:51 | 显示全部楼层

看啊看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 13:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表