Как назвать обнаруженный объект в openCV?
У меня есть простой код, который обнаруживает лицо, используя каскад Хаара в openCV.Это прекрасно работает, но мне нужно назвать обнаруженный объект.Например, когда я обнаруживаю лицо, в терминале (или над прямоугольником) выведите мне ЛИЦО и аналогично другому объекту.
Ниже я вставляю свой простой код.
Спасибо за каждый ответ.
import cv2
import sys
class HaarClassifier:
def __init__(self):
self.faceCascade =
cv2.CascadeClassifier('data/haarcascade_frontalface_default.xml')
def detectFace(self, grayFrame, outputFrame):
colaScaleFactor = 1.2
colaMinNeighs = 5
faces = self.faceCascade.detectMultiScale(grayFrame, colaScaleFactor, colaMinNeighs)
for (x, y, w, h) in faces:
cv2.rectangle(outputFrame, (x, y), (x + w, y + h), (255, 0, 0), 2)
class Recognition(HaarClassifier):
def __init__(self):
super().__init__()
self.haarClassifier = HaarClassifier()
def capture(self):
cap = cv2.VideoCapture(0)
if cap.isOpened():
return cap
else:
print("Failed on camera capture")
sys.exit()
def start(self):
cap = self.capture()
while True:
ret, img = cap.read()
if ret:
grayScale = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
self.haarClassifier.detectFace(grayScale, img)
cv2.imshow('img', img)
k = cv2.waitKey(1)
if k == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
recognition = Recognition()
recognition.start()