import os
import numpy as np
from PIL import Image
# 文件夹路径
'''打印某文件夹张图片的像素点信息'''
folder_path = r"E:\**\data\label_png"
# 初始化存储每张图片的像素值信息的字典
image_pixel_counts = {}
# 遍历文件夹中的所有图片
for filename in os.listdir(folder_path):
if filename.endswith(".png"):
# 读取图片
image_path = os.path.join(folder_path, filename)
image = Image.open(image_path)
print(f'========================{image_path}===========================')
# 将图像转换为 NumPy 数组
image_array = np.array(image)
# 获取图像的形状信息
height, width = image_array.shape
# 初始化存储每个像素值的字典
pixel_counts = {}
# 遍历图像的每个像素点,统计每个像素值的数量
for i in range(height):
for j in range(width):
pixel = image_array[i, j]
if pixel in pixel_counts:
pixel_counts[pixel] += 1
else:
pixel_counts[pixel] = 1
# 打印每个像素值及其数量
for pixel, count in pixel_counts.items():
print(f"Pixel: {pixel}, Count: {count}")
# 统计像素值为255的数量
pixel_count_255 = np.count_nonzero(image_array == 255)
# 存储图片的像素值信息
image_pixel_counts[filename] = pixel_count_255
# print(f'像素信息:{image_path} -> 像素值为255的数量:{image_pixel_counts[specified_image]}')
# 找出像素值为255数量最大的图片
max_pixel_count_image = max(image_pixel_counts, key=image_pixel_counts.get)
print(
f"像素值为255数量最大的图片:{max_pixel_count_image} -> 像素值为255的数量:{image_pixel_counts[max_pixel_count_image]}")
min_pixel_count_image = min(image_pixel_counts, key=image_pixel_counts.get)
print(
f"像素值为255数量最小的图片:{min_pixel_count_image} -> 像素值为255的数量:{image_pixel_counts[min_pixel_count_image]}")
批量打印二值化图片像素点数值;python打印图像所有的像素值
于 2024-05-13 14:22:21 首次发布