我正在研究的问题是,我希望以相当合理的确定程度检测图像是黑色还是黑色。我已经编写了代码来获取颜色直方图,下一步是编写一个函数,它将获取(r,g,b)
元组并给我一个bool
,指示它是黑色还是接近它。这可能不是100%准确,但最好是误报误报。
def average_image_color(i):
h = i.histogram()
# split into red, green, blue
r = h[0:256]
g = h[256:256*2]
b = h[256*2: 256*3]
# perform the weighted average of each channel:
# the *index* is the channel value, and the *value* is its weight
return (
sum( i*w for i, w in enumerate(r) ) / sum(r),
sum( i*w for i, w in enumerate(g) ) / sum(g),
sum( i*w for i, w in enumerate(b) ) / sum(b))
我有一组测试图像,我可以用作语料库。什么是最好的图书馆/方法?
我希望训练的功能类似于
def is_black(r, g, b):
if magic_says_black():
return True
return False
答案 0 :(得分:1)
由于您只关心亮度,因此将图像转换为灰度会更容易,因此您只需使用一个通道而不是三个通道。
然后你有很多选择: