Python实现Chiikawa

简介: Python实现Chiikawa

写在前面

哈?呀哈!本期小编给大家素描版Chiikawa

主人公当然是我们可爱的吉伊小八以及乌萨奇啦~

Chiikawa小小可爱

《Chiikawa》是一部来自日本的超萌治愈系漫画与动画作品,由作者秋田祯信创作。"Chiikawa"这个名字结合了日语中的“ちい”(小)和“かわ”(可爱)两个词,直译就是“小小可爱”,非常贴合作品的精髓。这部作品围绕着一群外形软萌、个性鲜明的小动物展开,它们有着圆滚滚的身体、大大的眼睛,看起来就像是迷你版的宠物或是野生动物,非常可爱!


故事中,这些小动物们拥有自己的一片小天地,它们的生活充满了乐趣和温馨。从日常的嬉戏打闹到互相帮助解决问题,每个场景都充满了正能量和纯真情感,让人看了不禁会心一笑,心情大好。《Chiikawa》没有复杂的剧情,而是以简单、轻松的方式展现了友情、亲情以及对生活的热爱,非常适合各年龄层的观众,尤其是寻求心灵慰藉和放松的人群。

总之,《Chiikawa》是一部让人感到温暖、治愈的作品,通过这些迷人的小生物,传递出简单却深刻的快乐哲学,提醒我们在繁忙的生活中也不要忘记感受身边的小小幸福。

Python编程语言

简介

Python是一种高级、通用的编程语言,由荷兰程序员 Guido van Rossum 设计,并于1989年底首次发布。Python的命名灵感来源于 Guido van Rossum 喜爱的英国喜剧团体Monty Python,而非爬行动物蟒蛇,尽管Python的logo采用了两条蟒蛇的形象。

特性

Python强调代码的可读性和简洁性,它使用简单的语法结构,使非专业的程序员也非常容易上手。作为一种解释型语言,Python的代码在运行时由解释器逐行解释执行,无需事先编译。这使得Python非常适合作为脚本语言使用,同时也便于快速开发和调试。


特点

1. 简洁易读:Python的语法设计鼓励编写清晰、逻辑性强的代码,使用空白符来区分代码块,而不是像C、C++等语言那样使用大括号{}。


2. 动态类型:Python是动态类型语言,变量不需要预先声明类型,可以在运行时改变类型,这大大提高了编程的灵活性。


3. 面向对象:支持面向对象编程(OOP),允许通过定义类和对象来组织代码,实现封装、继承和多态等特性。


4. 丰富的标准库:Python自带一个庞大而全面的标准库,覆盖了网络通信、文本处理、数据库访问、图形用户界面等多个领域,极大地方便了开发者。


5. 跨平台性:Python可在多种操作系统上运行,包括Windows、Linux、Mac OS等,且代码通常无需修改即可在不同平台上运行。


6. 应用广泛:Python在Web开发、数据分析、人工智能、机器学习、科学计算、自动化脚本、网络安全等领域有着广泛的应用。


7. 社区支持:Python拥有一个庞大的开发者社区,提供了大量的第三方库和框架,以及丰富的在线资源和文档,支持开发者的学习和项目开发。

小结

由于其易学易用的特点,Python也常被视为编程新手的理想入门语言。随着版本的不断更新,Python持续引入新功能,优化性能,进一步巩固了其在现代软件开发中的地位。

素描Chiikawa

编写代码

from PIL import Image
import os
def transform(imgName):
    image = imgName
    img = Image.open(image)
    img_all = "素描" + image
    new = Image.new("L", img.size, 255)
    width, height = img.size
    img = img.convert("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:
……

代码分析

这段代码定义了一个名为transform()的函数,用于将一个彩色图像转换成素描风格的灰度图像,以下是代码的详细分析。

1. 导入库

  首先,代码导入了PIL库中的Image模块以及os模块。PIL库用于处理图像,而os模块则用于与操作系统交互,比如执行系统命令。


2. 转换函数


  - 函数transform()接受一个参数imgName,即待转换图像的文件名。


  - 首先,尝试打开并读取图像文件。


  - 创建一个新的空白灰度图像new,尺寸与原图相同,初始填充为白色。


  - 获取原图的尺寸,并将其转换为灰度图像。


  - 设置画笔大小Pen_size和色差扩散器Color_Diff作为算法的参数。


3. 像素处理


  - 使用嵌套的for循环遍历图像中的每个像素,但避开了边缘像素以避免越界问题。


  - 对每个像素,计算其周围区域的平均亮度值(上、下、左、右、对角线方向),并比较这些平均值之间是否存在显著差异Color_Diff。


  - 如果存在显著差异,则根据原始像素亮度减少一定的值并设置到新图像的对应位置,以此来增强边缘和轮廓,模拟素描效果。


4. 保存结果


  - 将处理后的图像保存为新的文件,文件名前缀为“素描”。


  - 利用os.system()命令直接在操作系统中打开转换后的图像。


5. 主函数


  当脚本作为主程序运行时,会调用transform()函数并传入一个示例图像文件名“Chiikawa.jpg”。


注意事项

代码中的素描效果实现方式基于一种简化的算法,它通过对比像素周围区域的亮度差异来模拟铅笔素描的线条和阴影效果。


使用os.system()直接打开图片可能在某些环境下不适用,特别是没有默认图片查看器或者跨平台兼容性问题。


对于更高质量的素描转换,可以考虑使用更复杂的图像处理技术,如边缘检测、高斯模糊结合二值化等方法。

运行效果

写在最后

我是一只有趣的兔子,感谢你的喜欢!

目录
相关文章
|
机器学习/深度学习 算法 Python
一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现
一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现
1072 0
一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现
|
6月前
|
搜索推荐 Python
python实现快速排序算法。
【2月更文挑战第9天】【2月更文挑战第23篇】python实现快速排序算法。
60 0
|
6月前
|
Python
Python实现hellokitty
Python实现hellokitty
204 0
|
11月前
|
人工智能 知识图谱 Python
python实现知识推理,图可达,pydatalog,kanren,sympy
python实现知识推理,图可达,pydatalog,kanren,sympy
157 0
|
Python
python实现贝塔函数
python实现贝塔函数
100 0
|
Python
最速下降法—python实现
最速下降法—python实现
188 0
|
Python
一场樱花雨(Python实现)
一场樱花雨(Python实现)
177 0
|
人工智能 搜索推荐 算法
八大排序算法使用Python实现(干货)
八大排序算法使用Python实现(干货)
|
Python
娇滴滴的一朵花(Python实现)
娇滴滴的一朵花(Python实现)
|
Python
用Python实现樱花树
用Python实现樱花树
115 0

相关实验场景

更多