Я бы хотел идентифицировать человека от другого, используя фильтр Габора.
Он работает нормально, но я не понимаю, как его классифицировать.
Нужно ли, например, SVM как классификатор?
Из этой статьи я понимаю, что ей не нужен SVM ИЛИ другой классификатор
Полный код в режиме реального времени (видео):
import cv2
import numpy as np
from imutils.video import FPS
# capturing video through webcam
import time
cap = cv2.VideoCapture(0)
#video dimension in python-opencv
width = cap.get(3) # float
height = cap.get(4) # float
print width,height
time.sleep(2.0)
fps = FPS().start()
while(1):
_, img = cap.read()
if _ is True:
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# img =cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
else:
continue
g_kernel = cv2.getGaborKernel((21, 21), 8.0, np.pi / 4, 10.0, 0.5, 0, ktype=cv2.CV_32F)
# print g_kernel
filtered_img = cv2.filter2D(img, cv2.CV_8UC3, g_kernel)
# print filtered_img
# kernel_resized = cv2.resize(g_kernel)
cv2.imshow("Original Tracking", img)
cv2.imshow("Color Tracking", filtered_img)
h, w = g_kernel.shape[:2]
g_kernel = cv2.resize(g_kernel, (3 * w, 3 * h), interpolation=cv2.INTER_CUBIC)
cv2.imshow('gabor kernel (resized)', g_kernel)
# cv2.imshow("kernel", g_kernel)
if cv2.waitKey(10) & 0xFF == ord('q'):
cap.release()
cv2.destroyAllWindows()
break
fps.update()
fps.stop()
print("[INFO] elapsed time: {:.2f}".format(fps.elapsed()))
print("[INFO] approx. FPS: {:.2f}".format(fps.fps()))
помогите пожалуйста
Заранее спасибо.