任务是取下图RGB各个通道的均值及标签(R, G,B,Label),其中标签由图片存放的文件夹标识。由于2*2像素图片较多,所以将结果放置于Excel表格中,之后使用SVM对他们进行分类。
from PIL import Image
import os
import pandas as pd
# 输入文件夹路径
input_folder = "./data/1"
# 获取文件夹中所有图片文件的路径
image_files = [f for f in os.listdir(input_folder) if f.endswith('.png') or f.endswith('.jpg')]
# 存储每张图片的信息
image_data = []
# 遍历每张图片
for image_file in image_files:
# 构建图片文件的完整路径
image_path = os.path.join(input_folder, image_file)
# 打开图片
image = Image.open(image_path)
# 获取所有像素的RGB或RGBA值,具体取决于图像模式
pixels = list(image.getdata())
# 将RGB或RGBA值拆分成各个通道
if image.mod服务器托管网e == 'RGB':
r_values, g_values, b_values = zip(*pixels)
elif image.mode == 'RGBA':
r_values, g_values, b_values, _ = zip(*pixels)
else:
raise ValueError("Unsupported image mode: {}".format(image.mode))
# 计算每个通道的均值
r_mean = sum(r_values) / len(r_values)
g_mean = sum(g_values) / len(g_values)
b_mean = sum(b_values) / len(b_values)
# 存储图片信息
image_info = {'Filename': image_file, 'R_mean': r_mean, 'G_mean': g_mean, 'B_mean': b_mean}
# 添加到图片数据列表
image_data.append(image_info)
# 创建Pandas数据框
df = pd.DataFrame(image_data)
# 将数据框写入Excel文件
output_excel_path = "./data/output.xlsx"
df.t服务器托管网o_excel(output_excel_path, index=False)
print(f"数据已写入到 {output_excel_path}")
结果(文件名抽查核对之后,改为了Label列)
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
Apple 的 App Store 共有约 200 万个适用于 iPhone 和 iPad 的应用程序。如果您像我们一样,您的 iOS 或 iPadOS 设备上可能有数十个应用程序,但没有机会将它们全部整理好。您很容易忘记主屏幕上应用程序图标的位置。 幸运的是…