简单介绍
端午节到了,如何用python绘制一张端午祝福送给亲人朋友呢?下面简单介绍三种方法。
第一种:海龟画图
利用python的turtle模块可以自定义绘制很多有意思的图像,常见的语法规则如下:
用这种方法画粽子需要一定的艺术天赋,这里不再展开教学,有兴趣可以之后多多研究。
第二种:pillow灰度
利用python的pillow模块,可以将普通的彩色图片变成黑白图片,甚至变成素描类图片。
- 使用前需要安装pillow模块
pip install pillow具体代码如下:
from PIL import Imageimport osdef analyze(img, threshold): if threshold < 0: threshold = 0 if threshold > 100: threshold = 100 width, height = img.size img = img.convert('L') # 转为灰度图 pixel = img.load() # 获取灰度值 for w in range(width): for h in range(height): if w == width - 1 or h == height - 1: continue xy = pixel[w, h] x1y1 = pixel[w + 1, h + 1] diff = abs(xy - x1y1) if diff >= threshold: pixel[w, h] = 0 #灰度越大越白,代表是轮廓 else: pixel[w, h] = 255 #灰度越大越白,代表是轮廓 return imgdef main(): threshold = 16 pth = '端午节2.jpg' # 这里改成你的图片名称,记得与py文件同路径 dir = os.path.dirname(pth) # 返回图片所在的路径 ori_name = os.path.basename(pth) # 返回图片名称及扩展名 name = os.path.splitext(ori_name)[0] # 返回图片名称 geshi = os.path.splitext(ori_name)[1] # 返回图片的扩展名 out_name = os.path.join(dir, name +'(素描版)' + geshi) # 输出的名字及路径 img = Image.open(pth) img = analyze(img,threshold) img.save(out_name)if __name__=='__main__': main()
- 原图1
opencv是一个比较强大的图像处理工具,可以用它来将彩色图片制作成手绘图
- 使用前需要安装opencv库
pip install opencv-python- 具体代码如下:
import osimport cv2def main(): pth = '端午节2.jpg' dir = os.path.dirname(pth) # 返回图片所在的路径 ori_name = os.path.basename(pth) # 返回图片名称及扩展名 name = os.path.splitext(ori_name)[0] # 返回图片名称 geshi = os.path.splitext(ori_name)[1] # 返回图片的扩展名 out_name = os.path.join(dir, name +'(sumiao)' + geshi) # 输出的名字及路径 img = cv2.imread(pth) img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) img_blur = cv2.GaussianBlur(img_gray, ksize=(11, 11),sigmaX=0, sigmaY=0) img_out=cv2.divide(img_gray, img_blur, scale=255) cv2.imwrite(out_name, img_out)if __name__=='__main__': main()- 效果图1_2:
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.