лаба 1 рабочая

This commit is contained in:
VladislavOstapov 2022-11-24 15:27:13 +03:00
parent fffd3dbe72
commit 0f101d9dd8
5 changed files with 45586 additions and 0 deletions

BIN
lab1/image/apple.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

16
lab1/image/main.py Normal file
View File

@ -0,0 +1,16 @@
import cv2
src = cv2.imread('apple.bmp', 1)
cv2.imshow('original', src)
imgray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
cv2.imshow('gray', imgray)
_, tresh = cv2.threshold(imgray, 127, 255, 0)
cv2.imshow('tresh', tresh)
contours, _ = cv2.findContours(tresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(src, contours, -1, (0, 255, 0), 2)
cv2.imshow('eye', src)
cv2.waitKey(0)
cv2.destroyAllWindows()

12213
lab1/video/haarcascade_eye.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

43
lab1/video/main.py Normal file
View File

@ -0,0 +1,43 @@
import cv2
# Загружаем обученные модели
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eyeCascade = cv2.CascadeClassifier('haarcascade_eye.xml')
cap = cv2.VideoCapture(0) # Открываем видеопоток с камеры
cap.set(cv2.CAP_PROP_FPS, 60) # Частота кадров
while True:
ret, video = cap.read() # Считываем видео
gray = cv2.cvtColor(video, cv2.COLOR_BGR2GRAY) # Красим все, так удобнее
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(20, 20)
)
for (x, y, w, h) in faces:
roi_gray = gray[y:y + h, x:x + w] # Вырезаем область с лицами
roi_color = video[y:y + h, x:x + w]
cv2.rectangle(video, (x, y), (x + w, y + h), (255, 0, 0), 2) #
eyes = eyeCascade.detectMultiScale(
roi_gray,
scaleFactor = 1.2,
minNeighbors = 4,
minSize = (5, 5),
)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
cv2.imshow("output", video) # Выводим видео в окно
if cv2.waitKey(10) == 27: # Выходим по кнопке Esc
break
cap.release()
cv2.destroyAllWindows()