我们读取这张图有图片的颜色区域
每一行代表一个矩阵,有颜色就用0代替,没颜色用空格表示
绘制和打印这张图片
读取这张图片的颜色占比,按照有颜色的部分遍历这个图片的每行颜色矩阵
呗
保存到txt和图片
/storage/emulated/0/代码文件/excel/
保存在此,自动命名
不要排除白色
用input输入路径
如果是文件夹就处理文件夹,如果是文件就处理文件
细致的完成我的需求:文件名命名方法:
1.(1.指对文件编号)+ 库 + 时间戳.后缀名
时间戳格式
2023-10-1 14:27:36
严格按照此类型时间戳
python读取图片颜色,有颜色的用0表示,没颜色的用空格,绘制图片与txt文本
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 【以下回答由 GPT 生成】
解决方案:
1. 根据文件的编号、库名称和时间戳生成文件名
import os from datetime import datetime def generate_filename(file_number, library_name): timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") file_extension = ".txt" # 文件保存为文本文件 # 生成文件名 file_name = f"{file_number}_{library_name}_{timestamp}{file_extension}" return file_name
调用该函数:
file_number = 1 library_name = "example" filename = generate_filename(file_number, library_name) print(filename)
输出:
1_example_2023-10-1 14:27:36.txt
2. 读取图片并处理颜色
from PIL import Image, ImageDraw def process_image(image_path): # 读取图片 image = Image.open(image_path) width, height = image.size # 创建一个白底的图片,用于绘制颜色信息 color_image = Image.new("RGB", (width, height), color=(255, 255, 255)) draw = ImageDraw.Draw(color_image) color_matrix = [] color_area = 0 total_area = width * height for y in range(height): row = [] for x in range(width): # 获取像素点的RGB颜色值 r, g, b = image.getpixel((x, y)) # 判断是否为有颜色的区域 if r != 255 or g != 255 or b != 255: draw.point((x, y), fill=(0, 0, 0)) # 绘制黑色点 row.append(0) color_area += 1 else: row.append(" ") # 绘制空格 color_matrix.append(row) # 打印绘制的图片 color_image.show() # 计算有颜色的区域占总面积的比例 color_ratio = color_area / total_area return color_matrix, color_ratio
调用该函数:
image_path = "path/to/image.jpg" color_matrix, color_ratio = process_image(image_path) print(color_matrix) print(color_ratio)
3. 保存处理后的图片和颜色矩阵为txt文件和图片文件
def save_to_txt(matrix, filename): # 将矩阵保存为txt文件 with open(filename, "w") as f: for row in matrix: f.write(" ".join(map(str, row)) + "\n") def save_to_image(image, filename): # 保存图片 image.save(filename) def save_files(matrix, image, library_name): # 生成文件路径 file_number = get_next_file_number() # 假设有一个函数获取下一个文件编号 filename = generate_filename(file_number,library_name) directory = "/storage/emulated/0/代码文件/excel/" # 创建文件夹 os.makedirs(directory, exist_ok=True) # 保存txt文件 txt_file_path = os.path.join(directory, filename) save_to_txt(matrix, txt_file_path) # 保存图片文件 image_file_path = os.path.splitext(txt_file_path)[0] + ".jpg" save_to_image(image, image_file_path)
调用该函数:
library_name = "example" save_files(color_matrix, color_image, library_name)
请注意,以上代码只是提供了解决该问题的思路和部分示例代码,并不能保证完全运行。具体实现还需要根据实际情况进行调整和完善。
【相关推荐】
- 你可以看下这个问题的回答https://ask.csdn.net/questions/7614742
- 这篇博客你也可以参考下:python批量读取指定目录下图片,并将其绝对路径写入txt文件
- 您还可以看一下 赵帅老师的Python爬虫基础&商业案例实战课程中的 批量生成舆情报告准备知识点:自动生成txt文件小节, 巩固相关知识点
- 除此之外, 这篇博客: 【python】读取指定文件夹下的所有图片路径,并保存到列表再输出到txt文件中中的 一、介绍 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 ic卡dump文件校检码解密
- ¥15 关于:接收到的数据不是有效的JSON格式
- ¥15 apdl语言如何增加受力分析
- ¥15 算法对比:学校优化算法与蚁群算法对比
- ¥15 机电一体化系统设计说明书
- ¥20 sgy数据提取地震波速,有人能回答吗小馋
- ¥20 c#实现打开word的功能,并且需要安装成windows服务,word打不开怎么办
- ¥15 python用ARIMA时间预测模型预测数据出错,急!
- ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
- ¥50 关于弹性波动方程求解的问题: