如果二进制图像在numpy或scikit-image模块中几乎全黑或全白,我怎么能看到?
我想到了numpy.all
函数或numpy.any
,但我不知道如何既不为全黑图像也不为几乎黑色的图像。
假设所有像素都是1或0,像这样的事情可能会起作用(根本没有测试过):
def is_sorta_black(arr, threshold=0.8):
tot = np.float(np.sum(arr))
if tot/arr.size > (1-threshold):
print "is not black"
return False
else:
print "is kinda black"
return True
以下是我能想到的一些想法:
- 获取
np.sum()
,如果它低于阈值,则认为它几乎是黑色的 - 计算图像的
np.mean()
和np.std()
,几乎是黑色的图像是具有低均值和低方差的图像