试图找到图像中黑色像素的百分比(Python2)

2024-05-04 08:39:55 发布

您现在位置:Python中文网/ 问答频道 /正文

黑色像素用B表示,而非黑色像素用N表示。对于每幅图像,计算黑色像素的百分比,精确到十分之一。你知道吗

我需要输出为80.0%但是我得到了0.0,我的代码怎么了?任何建议都将不胜感激!谢谢!你知道吗

line1 = "BBBBBBBBBB"
line2 = "BBNNBBNNBB"
line3 = "BBNNBBNNBB"
line4 = "BBBBBBBBBB"
line5 = "BBBBNNBBBB"
line6 = "BBNBBBBNBB"
line7 = "BBBNNNNBBB"
line8 = "BBBBBBBBBB"

data = ["BBBBBBBBBB", "BBNNBBNNBB", "BBNNBBNNBB", "BBBBBBBBBB", "BBBBNNBBBB", "BBNBBBBNBB", "BBBNNNNBBB", "BBBBBBBBBB"]

def percentBlack(data):
    numB = 0
    numP = 0
    for line in data:
        for pixel in line:
            if pixel == "B":
                numB += 1
            numP += 1
    return round((numB/numP)*100,1)

print(percentBlack(data))

Tags: infordataline像素黑色pixelnump
1条回答
网友
1楼 · 发布于 2024-05-04 08:39:55

您的代码在python3中运行良好。你知道吗

我相信您的代码是用python2编写的,其中两个int的除法运算符产生一个int。你知道吗

def percentBlack(data):
    numB = 0
    numP = 0
    for line in data:
        for pixel in line:
            if pixel == "B":
                numB += 1
            numP += 1
    return round((numB * 100.0/numP),1)

相关问题 更多 >