吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1728|回复: 22
收起左侧

[Python 原创] 使用python将图像复刻到excel表格

  [复制链接]
矢岛舞美 发表于 2024-1-12 14:38
本帖最后由 矢岛舞美 于 2024-1-15 11:09 编辑

上班摸鱼的时候突然想到以前有个日本老爷爷用excel表格作画感觉挺牛的,
然后想到图像可以分割成一个个小块,excel表格也是一个个小格子,将小块的坐标和颜色对应填充到表格中,不就行了。
通过这个思路将需求提给AI,给出代码,修改个几次,就完成啦!
与ai对话记录:
与ai对话记录.zip (811.64 KB, 下载次数: 27)

效果如下:
QQ截图20240112143416.jpg
QQ截图20240112143637.jpg
完整代码:
[Python] 纯文本查看 复制代码
from PIL import Image
import openpyxl
from openpyxl.styles import PatternFill
import tkinter as tk
from tkinter import filedialog

def img_to_excel(image_path, excel_path):
    # 打开图像并缩放到较小的尺寸以适应Excel的单元格数量
    img = Image.open(image_path).convert('RGB').resize((300, 300))
    width, height = img.size
    pixels = img.load()

    # 创建新的Excel工作簿和工作表
    wb = openpyxl.Workbook()
    ws = wb.active

    # 设置所有列的宽度
    for i in range(width):
        ws.column_dimensions[openpyxl.utils.get_column_letter(i+1)].width = 2

    for y in range(height):
        for x in range(width):
            r, g, b = pixels[x, y]
            # 创建颜色填充
            fill = PatternFill(start_color=f'{r:02X}{g:02X}{b:02X}',
                               end_color=f'{r:02X}{g:02X}{b:02X}',
                               fill_type='solid')
            # 设置单元格的颜色
            ws.cell(row=y+1, column=x+1).fill = fill

    # 保存到Excel文件
    wb.save(excel_path)

def main():
    root = tk.Tk()
    root.withdraw()  # 隐藏主窗口

    # 弹出文件选择对话框让用户选择图片
    image_path = filedialog.askopenfilename(
        title='选择图片',
        filetypes=[('Image Files', '*.png *.jpg *.jpeg *.bmp *.tif *.tiff *.gif')])

    # 弹出文件保存对话框让用户选择Excel文件的保存路径
    excel_path = filedialog.asksaveasfilename(
        title='保存Excel文件',
        filetypes=[('Excel Files', '*.xlsx')],
        defaultextension='.xlsx')

    # 将图片中的像素颜色信息保存到Excel文件
    img_to_excel(image_path, excel_path)

if __name__ == '__main__':
    main()

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
qianxiaohe + 1 + 1 用心讨论,共获提升!
depp73 + 1 + 1 我很赞同!
hello_meng + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tiexue 发表于 2024-1-12 15:26
不明觉厉
 楼主| 矢岛舞美 发表于 2024-1-12 14:39
头像被屏蔽
woshinidage 发表于 2024-1-12 14:42
 楼主| 矢岛舞美 发表于 2024-1-12 14:46
woshinidage 发表于 2024-1-12 14:42
老哥,你们这么牛b,是从什么时候开始学的计算机?

不是,这个主要是自己提思路,然后让ai写代码,我本身只会基础的python
Anolecrab 发表于 2024-1-12 14:54
赞一个!一开始还以为我的帖子被挖坟了。
y11 发表于 2024-1-12 15:49
不得不说,科技真是有意思
52bojie 发表于 2024-1-12 16:04
学习了,谢谢分享
头像被屏蔽
244888888 发表于 2024-1-12 17:12
提示: 作者被禁止或删除 内容自动屏蔽
zhuofeng41 发表于 2024-1-12 17:22
厉害!
使用了AI编程,可以大大提高效率、速度!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 18:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表