Python将图片转为素描画怎么做?Python如何实现图片风格转换

【Python将图片转为素描画怎么做?Python如何实现图片风格转换】在平常的生活中大家肯定都会去拍一些照片来保存起来,而有些使用过相机app的小伙伴就想要知道在python中如何将图片转为素描画这种风格 。那么今天这篇文章会给大家带来图片转为素描画风格的代码实例和详细讲解,感兴趣的话就一起往下看看吧 。

Python将图片转为素描画怎么做?Python如何实现图片风格转换

文章插图
1.python中操作图像的话需要使用到Pillow库中的image模块,所以要先将这个库给下载安装好才可以 。安装完成之后打开pycharm或者是其他的python集成开发工具,并创建一个python文件来编写代码 。
2.代码的第一行就是要去导入模块,然后就是创建函数并且写三个参数 。第一个参数为图片路径,第二个参数为图片模糊值,默认为25,第三个参数则是图片透明度,默认为1.0,代码示例如下所示:
from PIL import Image, ImageOps, ImageFilterdef toSketchStyle(picturePath, blur=25, alpha=1.0):3.然后定义两个变量去保存读取图片的路径,以及转为素描画后保存图片的路径 。调用open()方法读取图片并使用convert()方法将其转为灰度图片,这个时候图片就已经显现成灰黑白三色了,代码如下:
imgInput_FileName = picturePathimgOutput_FileName = picturePath.split(".")[0] + '_Sketch.' + picturePath.split(".")[1]img = Image.open(picturePath)img1 = img.convert('L')img2 = img1.copy()img2 = ImageOps.invert(img2)4.之后只需要建立一个for循环结构去迭代range()函数加上blur模糊值,在迭代过程之中将图片每一个像素点都按照透明度和灰度值去进行转换,代码如下所示:
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.save(imgOutput_FileName)5.最后只需要调用这函数并且把文件路径这个参数给输出进去,即可完成python将图片转为像素画的操作,代码示例如下:
imgInput_FileName = input('输入文件路径:')toSketchStyle(imgInput_FileName)以上就是关于“Python将图片转为素描画怎么做?Python如何实现图片风格转换”的全部内容了,希望对你有所帮助 。

    推荐阅读