我还是学生,我正在研究如何在使用Tensor Flow创建图像分类器时使用直方图作为特征(我已经为诗人使用了张量流,但是它的输入是原始图像,现在我想使用直方图作为输入)。我观看了如何使用苹果和橙子作为功能的教程,但现在我正在尝试使用图像的直方图(我使用opencv(python)来提取我的图像的直方图)。
我有2个标签:图像1和图像2.每个标签有自己的60个图像(图像1,有60个图像,图像2有60个图像)。在每个标签中,我有60个直方图,它是2D阵列的形式。
image1 = [[histogram1], [histogram2], ... [histogram60]]
image2 = [[histogram1], [histogram2], ... [histogram60]]
在每个直方图中,我有256个值,
histogram1 = [0,0,0,0,123, 169, ...]
在我的代码中,当我使用这些直方图作为特征时,我遇到了一个错误,因为它是3 dim-array的形式,当它应该只是< = 2.我写它的方式是这样的(基于TF的教程):
from sklearn import tree
hist = [ [[img1_histogram1], [img1_histogram2], ... [img1_histogram60]], [[img2_histogram1], [img2_histogram2], ... [img2_histogram60]] ]
labels = [1, 2] # 1 for image1, 2 image2
clf = tree.DecisionTreeClassifier()
clf = clf.fit(hist, labels)
print clf.predict([[img1_histogram1]])
在使用Tensor Flow创建图像分类器时,有人可以帮我使用直方图作为功能吗?提前谢谢!
答案 0 :(得分:0)
在特征向量中表示RGB直方图的一种方法是从中提取相关值。
因此直方图将存储为: redMean,greenMean,blueMean,redStdDev,greenStdDev,blueStdDev
我用这种方法来表示蝴蝶的颜色配置文件。