gpt4 book ai didi

python - 如何训练 python 函数返回我想要的结果?

转载 作者:行者123 更新时间:2023-11-30 09:13:29 25 4
gpt4 key购买 nike

我正在考虑的问题是我想以相当合理的确定性检测图像是黑色还是大部分是黑色。我已经编写了获取颜色直方图的代码,下一步是编写一个函数,该函数将采用 (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

最佳答案

由于您只关心亮度,因此将图像转换为灰度会更容易,这样您只需使用一个 channel 而不是三个 channel 。

然后您有多种选择:

  • 如果平均像素强度高于凭经验确定的阈值,则图像大部分为黑色;
  • 计算超过某个阈值的像素数
  • 如果您有大量示例图像,请使用灰度直方图训练分类器,例如 SVM(这看起来确实像使用大锤敲碎核桃)。您会在 scikit-learn package 中找到大量分类器.

关于python - 如何训练 python 函数返回我想要的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16595075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com