以下 Python 代码可以从图片中提取特定像素值并统计每个像素值出现的次数,并将结果保存到文本文件中:

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)]
# 严重拥堵,拥挤,缓行,畅通

# 循环遍历输入文件夹中的所有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]

        # 统计每个像素值的个数
        pixel_counts = {}
        for pixel in extracted_pixels:
            if pixel in pixel_counts:
                pixel_counts[pixel] += 1
            else:
                pixel_counts[pixel] = 1

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

print('转换完成')

代码首先定义了输入和输出文件夹的路径以及需要提取的像素值。然后,代码循环遍历输入文件夹中的所有PNG图片,打开每个图片并将其转换为RGB模式。接着,代码提取每个图片中包含的特定像素值,并统计每个像素值出现的次数。最后,代码将统计结果保存到输出文件夹中的文本文件中。

这个代码可以帮助你分析图片中的颜色信息,并提取出你感兴趣的颜色信息。你可以根据自己的需求修改代码中的像素值列表,来提取不同的颜色信息。

Python 提取图片像素值并统计数量

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

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