class_labels = { 0: r'I:\18Breakageratecalculation\mask-slic use\maskSLIC-master\result\result6\slic_pellucid\non-broken roofing', 1: r'I:\18Breakageratecalculation\mask-slic use\maskSLIC-master\result\result6\slic_pellucid\broken roofing', 2: r'I:\18Breakageratecalculation\mask-slic use\maskSLIC-master\result\result6\slic_pellucid\courtyard' }# 遍历每个类别 for class_label in class_labels: # 获取该类别对应的文件夹名称 folder_name = class_labels[class_label] folder_path = os.path.join(r'I:\18Breakageratecalculation\mask-slic use\maskSLIC-master\result\result6\slic_pellucid', folder_name) # 初始化非透明像素点数量为 0 total_non_transparent_pixels = 0 # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path): # 获取文件路径 filepath = os.path.join(folder_path, filename) # 判断是否为图像文件 if filepath.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')): # 计算非透明像素点数量 non_transparent_pixels = count_non_transparent_pixels(filepath) # 累加到总数中 total_non_transparent_pixels += non_transparent_pixels # 输出结果 print(f'类别 {class_label} 的非透明像素点总数:{total_non_transparent_pixels}')怎么计算类别为1的像素点/(类别为1+类别为0的像素点)
时间: 2024-03-26 08:40:24 浏览: 284
和上面计算标签为1的像素点占总像素点数比例类似,可以使用以下公式计算类别为1的像素点占总像素点数的比例:
类别为1的像素点数 / (类别为1的像素点数 + 类别为0的像素点数)
可以先遍历文件夹中的所有图像文件,计算每个图像文件中类别为1的像素点数和类别为0的像素点数,然后将它们累加到总数中。最后,将类别为1的像素点数除以总像素点数,即可得到类别为1的像素点占总像素点数的比例。
代码示例:
```python
total_pixels_0 = 0
total_pixels_1 = 0
label_1_pixels = 0
for class_label in class_labels:
folder_name = class_labels[class_label]
folder_path = os.path.join(r'I:\18Breakageratecalculation\mask-slic use\maskSLIC-master\result\result6\slic_pellucid', folder_name)
total_non_transparent_pixels = 0
for filename in os.listdir(folder_path):
filepath = os.path.join(folder_path, filename)
if filepath.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')):
img = cv2.imread(filepath)
total_pixels_0 += (img[:,:,0] == 0).sum()
total_pixels_1 += (img[:,:,0] == 255).sum()
if class_label == 1:
label_1_pixels += (img[:,:,0] == 255).sum()
ratio = label_1_pixels / (total_pixels_0 + total_pixels_1)
print(f'类别为1的像素点占总像素点数的比例:{ratio}')
```
其中,`total_pixels_0` 和 `total_pixels_1` 分别表示所有图像文件中类别为0和类别为1的像素点数之和,`label_1_pixels` 表示所有图像文件中类别为1的像素点数之和。
阅读全文