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()直接打开图片可能在某些环境下不适用,特别是没有默认图片查看器或者跨平台兼容性问题。


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

运行效果

写在最后

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

目录
相关文章
|
监控 网络协议 Java
分布式链路追踪- SkyWalking使用手册
分布式链路追踪- SkyWalking使用手册
2105 0
分布式链路追踪- SkyWalking使用手册
|
9月前
|
人工智能 前端开发 API
人人都是应用开发者:AI时代的全栈产品经理实践
本文试图最短路径、最轻模式来做一个应用,实现一个需求!仅需三大步+9小步,以下为手把手教学流程。
582 10
|
9月前
|
人工智能 JavaScript 搜索推荐
纷享销客vs销售易:制造行业CRM选型深度解析
在制造行业数字化转型中,CRM系统选型至关重要。本文从技术架构、产品功能、服务案例等维度,对比了纷享销客与销售易。纷享销客技术架构强大、功能全流程覆盖、行业深耕成果显著;销售易以标准化销售管理为主。二者适用企业有所不同,企业选型时应重点关注与自身业务的匹配度 。
|
10月前
|
人工智能 自然语言处理 搜索推荐
现在最火的AI是怎么应用到体育行业的
AI在体育行业的应用日益广泛,涵盖数据分析、伤病预防、观众体验、裁判辅助等多个领域。通过传感器和可穿戴设备,AI分析运动员表现,提供个性化训练建议;预测伤病风险,制定康复方案;优化比赛预测和博彩指数;提升观众的个性化内容推荐和沉浸式观赛体验;辅助裁判判罚,提高准确性;发掘青训人才,优化训练计划;智能管理场馆运营和票务;自动生成媒体内容,提供实时翻译;支持电竞分析和虚拟体育赛事;并为运动员提供个性化营养和健康管理方案。未来,随着技术进步,AI的应用将更加深入和多样化。
|
Java
JSP 教程 之 JSP 表单处理 7
该教程介绍了如何在JSP中处理表单,特别是Checkbox数据。示例展示了一个HTML表单,包含三个已选中的复选框(Google、百度、淘宝),用户提交表单后,数据将以POST方式发送到main.jsp。
232 1
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
392 1
|
存储 弹性计算 安全
阿里云弹性计算_通用计算专场精华概览 | 2024云栖大会回顾
本次专场内容包括阿里云弹性计算全新发布的产品家族、阿里云第9代 ECS 企业级实例、CIPU 2.0技术解读、E-HPC+超算融合、倚天云原生算力解析等内容,并发布了国内首个云超算国家标准。
|
存储 运维 物联网
长安汽车×云器Lakehouse一体化数据平台,成本降低50%,建立智能互联时代的领先优势
长安汽车智能化研究院致力于汽车智能化技术研究,通过构建基于云器科技Lakehouse一体化数据平台,解决了高并发、大规模车联网数据处理难题,实现了数据实时写入、高效分析和成本优化,助力汽车智能驾驶、网联和交通全面发展。
418 0
长安汽车×云器Lakehouse一体化数据平台,成本降低50%,建立智能互联时代的领先优势
|
机器学习/深度学习
langchain 入门指南 - 文本分片及向量化
langchain 入门指南 - 文本分片及向量化
763 0
|
分布式计算 Hadoop 大数据
数据工程师必须掌握的7个大数据实战项目
值得收藏,数据工程师必须掌握的7个大数据实战项目
8144 1
数据工程师必须掌握的7个大数据实战项目