from PIL import Image
import os

# 输入文件夹和输出文件夹的路径
input_folder = r'C:\Users\jh\Desktop\data\images_block'
output_folder = r'C:\Users\jh\Desktop\data\images_flatten'

# 确保输出文件夹存在
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 定义要提取的像素值
pixels_to_extract = [(180, 0, 0), (232, 14, 14), (255, 208, 69), (79, 210, 125)]
# 严重拥堵,拥挤,缓行,畅通

# 字典用于统计每个像素值的数量
pixel_counts = {pixel: 0 for pixel in pixels_to_extract}

# 循环遍历输入文件夹中的所有PNG图片
for filename in os.listdir(input_folder):
    if filename.endswith('.png'):
        input_path = os.path.join(input_folder, filename)

        # 打开PNG图片并将其转换为RGB模式
        image = Image.open(input_path).convert('RGB')

        # 获取图片的像素值
        pixels = list(image.getdata())

        # 提取指定的像素值并更新数量
extracted_pixels = [pixel for pixel in pixels if pixel in pixels_to_extract]
        for pixel in extracted_pixels:
            pixel_counts[pixel] += 1

        # 将像素值保存到输出文件夹中的文本文件中
        output_path = os.path.join(output_folder, filename.replace('.png', '.txt'))
        with open(output_path, 'w') as file:
            for pixel in extracted_pixels:
                file.write(f'{pixel[0]}, {pixel[1]}, {pixel[2]}
')

print('转换完成')
print('像素值统计:')
for pixel, count in pixel_counts.items():
    print(f'{pixel}: {count}')

这段代码使用 Python 和 PIL 库,实现了从图像中提取指定的像素值,并将提取的像素值保存到文本文件中。同时,代码统计了每个像素值出现的次数,方便分析图像中的颜色分布。代码中的 pixels_to_extract 变量定义了要提取的像素值,可以根据实际需要修改。

代码功能:

  1. 读取指定文件夹中的所有 PNG 图片。
  2. 提取图片中指定的像素值。
  3. 将提取的像素值保存到相应的文本文件中。
  4. 统计每个像素值出现的次数。
  5. 打印每个像素值及其对应的数量。

使用方法:

  1. 将代码保存为 Python 文件,例如 extract_pixels.py
  2. 修改代码中的 input_folderoutput_folder 变量,分别指定输入文件夹和输出文件夹的路径。
  3. 运行代码,例如 python extract_pixels.py

代码将自动读取输入文件夹中的所有 PNG 图片,提取指定的像素值,并将结果保存到输出文件夹中。同时,代码还会打印每个像素值及其对应的数量。

注意:

  1. 确保系统中安装了 PIL 库,如果没有安装,可以使用 pip install Pillow 命令进行安装。
  2. pixels_to_extract 变量定义了要提取的像素值,可以根据实际需要修改。
  3. 代码默认保存到文本文件,可以根据需要修改输出格式。
  4. 代码可以用于分析图像中的颜色分布,例如判断图像中哪种颜色最多。

希望这段代码能够帮助你提取图像中的指定像素值,并统计每个像素值出现的次数。


原文地址: https://www.cveoy.top/t/topic/b1w6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录