Python - 图像识别分类器

Python - Image recognition classifier

我想评估一个事件是否正在我的屏幕上发生,每次它发生时,一个特定的 box/image 会出现在具有非常相似结构的屏幕区域中。

我从该屏幕区域收集了一堆 84x94 .png RGB 图像,我想构建一个分类器来告诉我事件是否正在发生。

因此我的想法是创建一个包含 2 列的 pd.DataFrame (df),df['np_array'] 包含每张图片,因为 np.arraydf['is_category'] 包含判断该图像是否表示事件正在发生的布尔值。

结构如下所示(大小为 !=):

我已将图像调整为 10x10 以进行训练并转换为灰度

df = pd.DataFrame(
    {'np_array': [np.random.random((10, 10,2)) for x in range(0,10)],
     'is_category': [bool(random.getrandbits(1)) for x in range(0,10)]
    })

我的问题是我无法通过执行 clf.fit(df['np_array'],df['is_category'])

来适应 scikit 学习分类器

我以前从未尝试过图像识别,在此先感谢您的帮助!

如果是 10x10 灰度图像,您可以将其展平:

import numpy as np
from sklearn import ensemble

# generate random 2d arrays
image_data = np.random.rand(10,10, 100)

# generate random labels
labels = np.random.randint(0,2, 100)

X = image_data.reshape(100, -1)

# then use any scikit-learn classification model
clf = ensemble.RandomForestClassifier()
clf.fit(X, y)

顺便说一下,对于图像,性能最好的算法是卷积神经网络。