APP下载
报价宝  ›  科技  › 

有趣的Python 使用Python将照片绘制出美腻的素描画

报价宝 来源:baojiabao.com 发布时间:2019-10-24 20:57:00 11月14日更新
报价宝综合消息有趣的Python 使用Python将照片绘制出美腻的素描画

PIL(Python Image Library)是python的第三方影象处理库,PIL功能非常强大,但API却非常简单易用,其强大的功能与众多的使用人数,几乎已经被认为是Python官方影象处理库了。 Python3PIL移植到pillow库,pillow号称是friendly fork for PIL。

如果想了解更多可以看中文文件:“连结”

来不及做更多解释,直接付程式码,还等什么,尝试一下。

from PIL import Image, ImageFilter, ImageOps

import os

def Formula(x, y, alpha):

"""

:param a:

:param b:

:param alpha:

:return:

"""

return min(int(x*255/(256-y*alpha)), 255)

def SketchDrawer(image,blur=6, alpha=1.0):

"""

:param blur:

:param alpha:

:return:

"""

image_name = os.path.splitext(image)[0]

image = Image.open(image) # 载入图片

luminance_image = image.convert('L') # 图片转换成灰度图

luminance_img_copy = luminance_image.copy()

inverted_image = ImageOps.invert(luminance_img_copy) # 反转颜色

for i in range(blur): # 模糊度

# ImageFilter.BLUR为模糊滤波,处理之后的影象会整体变得模糊

inverted_image = inverted_image.filter(ImageFilter.BLUR)

width, height = luminance_image.size

for x in range(width):

for y in range(height):

# 返回给定位置的画素值。如果影象为多通道,则返回一个元组。

pixel_luminance = luminance_image.getpixel((x, y))

pixel_inverted = inverted_image.getpixel((x, y))

luminance_image.putpixel((x, y), Formula(pixel_luminance, pixel_inverted, alpha))

luminance_image.show() # 展示图片效果

luminance_image.save('{0}_L.jpg'.format(image_name))

SketchDrawer('20190623191235.jpg')

为方便阅读,可浏览如下程式码完整截图。

百度一图,如下。

图片来自百度,若侵权则删

使用如上程式码,绘制出素描画,如下:

再来一张合影

图片来自百度,若侵权则删

使用如上程式码,绘制出素描画,如下:

若有需要源代码的同学,私聊吧 ~

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 数码相机价格 手机价格 汽车价格 耳机价格 降噪耳机价格