3
私は、機械学習スクリプトをプログラミングして写真を撮り、ラベルを付けます。私はフォルダ内に自分のデータセットを持っていて、それらを配列に追加し、ラベル用の別の配列を作成します。私はsvm.fitを使用しようとすると、エラーを与える:OpenCVイメージをScikitに読み込むLearn
import cv2
import numpy as py
from sklearn import svm
camera_port = 0
camera = cv2.VideoCapture(camera_port)
ramp_frames = 5
def getImage():
retval, im = camera.read()
gray_image = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
return gray_image
def insertToArray(arrayone, arraytwo, no, true):
if (true==1):
directory = "/home/mkmeral/Desktop/opencv/strue/"
arraytwo.append(1)
else:
directory = "/home/mkmeral/Desktop/opencv/sfalse/"
arraytwo.append(0)
im = cv2.imread(directory + str(no) + ".png")
gray_image = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
arrayone.append(gray_image)
arrayimg = []
arraylabel = []
count = 1
while (count<43):
insertToArray(arrayimg, arraylabel, count, 1)
print("True = " , count)
count = count + 1
count = 0
while (count<43):
insertToArray(arrayimg, arraylabel, count, 0)
print("False = ", count)
count = count + 1
print("Done adding to arrays")
clf = svm.SVC()
print("Done adding to arrayssss")
clf.fit(arrayimg, arraylabel)
print("Done fitting")
for i in xrange(ramp_frames):
temp = getImage()
testimage = getImage()
clf.predict(testimage)
を私は学び、それが問題になるだろうScikitために、それらのイメージに合うことができる方法:
File "scikit.py", line 43, in <module>
clf.fit(arrayimg, arraylabel)
File "/home/mkmeral/.local/lib/python2.7/site-packages/sklearn/svm/base.py", line 151, in fit
X, y = check_X_y(X, y, dtype=np.float64, order='C', accept_sparse='csr')
File "/home/mkmeral/.local/lib/python2.7/site-packages/sklearn/utils/validation.py", line 521, in check_X_y
ensure_min_features, warn_on_dtype, estimator)
File "/home/mkmeral/.local/lib/python2.7/site-packages/sklearn/utils/validation.py", line 405, in check_array
% (array.ndim, estimator_name))
ValueError: Found array with dim 3. Estimator expected <= 2.
そして、ここでは、私が書いたスクリプトですウェブカメラから撮影した画像を予測するには?