创意终端影集

简介: 左侧效果图:实现思路:通过python的PIL库,将彩色转黑白(256种灰度),创建字符集,建立字符集与灰度的映射动图把照片裁成1:1的比...

左侧效果图:

实现思路:

通过python的PIL库,将彩色转黑白(256种灰度),创建字符集,建立字符集与灰度的映射

动图

把照片裁成1:1的比例,保证显示比例正常,通过定时刷新,模拟一个动感影集

源码

from PIL import Image
import os
import time

codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. '''#生成字符画所需的字符集
count = len(codeLib)

def transform_image(image_file):
    #转换为黑白图片,参数"L"表示黑白模式
    image_file = image_file.convert("L")
    codePic = ''
    #size属性表示图片的分辨率,'0'为横向大小,'1'为纵向
    for h in range(0,image_file.size[1]):
        for w in range(0,image_file.size[0]):
            #返回指定位置的像素,如果所打开的图像是多层次的图片,那这个方法就返回一个元组
            gray = image_file.getpixel((w,h))
            #建立灰度与字符集的映射
            codePic = codePic + codeLib[int(((count-1)*gray)/256)]
        codePic = codePic+'\r\n'
    return codePic

def main():

    # 获取终端的高度
    height = os.get_terminal_size().lines

    # 获取同级目录文件夹下所有图片的列表
    the_names = os.listdir("./images")

    # 开启循环
    while 1 :
        # 遍历每张图片
        for the_name in the_names:
            try:

                # 清屏幕
                print("\n"*height)
                # 拼合当前图片名
                my_img = open("./images/"+the_name,'rb')
                # 打开当前图片
                image_file = Image.open(my_img)
                #调整图片尺寸到原来的四分之一
                # image_file=image_file.resize((int(image_file.size[0]*0.5), int(image_file.size[1]*0.5)))
                image_file=image_file.resize((250, 250))

                #打印图片
                print(transform_image(image_file))
                # 每张图片停顿5秒
                time.sleep(5)
            except Exception as e:
                pass

if __name__ == "__main__":
    main()

文章涉及到的资源我会通过百度网盘分享,为便于管理,资源整合到一张独立的帖子,链接如下:
http://www.jianshu.com/p/4f28e1ae08b1

目录
相关文章
|
15天前
|
Java Go API
医疗终端札记
医疗终端札记
17 2
|
1月前
|
存储 自然语言处理 搜索推荐
【颠覆你的数字生活!】探索OS Copilot——那款让你瞬间变身超级用户、编程如呼吸般自然、文件管理如同魔法般的神奇操作系统辅助神器!
【8月更文挑战第8天】OS Copilot是一款新兴的操作系统辅助软件,通过智能化手段简化电脑使用,从办公到开发全面赋能。安装简易,启动即有引导教程。其智能命令建议功能,可在命令行输入时提供后续选项及其说明,特别适合Linux用户。内置代码片段生成器,根据需求或代码框架自动生成代码,大幅提升开发效率。文件管理助手支持批量操作且可预览结果,降低误操作风险。任务自动化功能便于设置重复性工作流程,如定时备份。搜索功能强大,支持自然语言查询。尽管尚有改进空间,OS Copilot已是提升生产力的得力助手。
92 5
|
4月前
|
前端开发 JavaScript 开发工具
一文带你揭秘淘宝终端技术
一文带你揭秘淘宝终端技术
153 3
|
人工智能
用ChatGPT/midjourney生成创意营销图片素材,产品图、虚拟主播、终端店铺图
第一步,先预设场景,询问应该包含的关键词范围 假设你是一位世界一流水平的设计师,你想要使用AI绘画工具midjourney帮忙设计一款XXX,列举该场景需要用到的关键词范畴与示例。 第二步,按照推荐的关键词填充内容来输入到midjourney中,生成对应的图片。 按照逗号区隔不同描述词,用谷歌助手翻译成英文描述词,输入到midjourney中。
632 0
|
人工智能 网络协议 网络性能优化
【毕设参考】HaaS Python 云端一体AI【手势识别】窝在家里看电视不想动?想换台懒得找遥控器?试试解锁智能设备新玩法
【毕设参考】HaaS Python 云端一体AI【手势识别】窝在家里看电视不想动?想换台懒得找遥控器?试试解锁智能设备新玩法
147 0
|
Android开发
研发提效工具6 - 手机一键投屏+分屏方案
# 背景 Android开发过程中,经常需要使用真机开发调试,工作期间要在电脑和真机之间来回操作,步骤比较繁琐。 于是电脑开发+真机投屏就成为一个很不错的选择,如下图示。 ![](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/neweditor/7bc451b1-a94d-4f96-91c9-a5c526090ac3.png) 整个过程比
288 0
研发提效工具6 - 手机一键投屏+分屏方案
|
机器学习/深度学习 人工智能 搜索推荐
AI给在线教育打开了一扇窗,OKAY又给智慧教育打开了哪扇门?
近日,随着教育部《高等学校人工智能创新行动计划》的提出,5G、云计算、大数据等技术发展日臻成熟,人工智能全面拥抱教育已经成为大势所趋。
AI给在线教育打开了一扇窗,OKAY又给智慧教育打开了哪扇门?
|
人工智能 算法 前端开发
全屋一键智控,还能离线语音交互?这块智能触控面板很全能
编辑语: 应用速递栏目:应用速递是面向IoT厂商推荐芯片开放社区(OCC)上的典型应用案例,便于IoT厂商精准获取方案,快速实现产品落地。
231 0
全屋一键智控,还能离线语音交互?这块智能触控面板很全能