#python #opencv
Вопрос:
Последний раз, когда я проверял свой код, размер окна был нормальным. Но когда я запустил его сейчас, окно стало маленьким. Пожалуйста, кто-нибудь знает, как привести это в норму?
Вот мой код:
import cv2 as cv
face_cascade = cv.CascadeClassifier('haarcascade_frontalface_default.xml')
eyeglasses_cascade = cv.CascadeClassifier('haarcascade_eye_tree_eyeglasses.xml')
cap = cv.VideoCapture(0)
while cap.isOpened():
_, frame = cap.read()
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
for (x, y, w, h) in faces:
cv.rectangle(frame, (x,y), (x w, y w), (255,0,0), 3)
cv.putText(frame,'Face', (x, y h 30), cv.FONT_HERSHEY_SIMPLEX, 1, (255,0,0), 2)
roi_gray = gray[y:y h, x:x w]
roi_color = frame[y:y h, x:x w]
glasses = eyeglasses_cascade.detectMultiScale(roi_gray)
for (gx, gy, gw, gh) in glasses:
cv.rectangle(roi_color, (gx,gy), (gx gw, gy gh), (0,255,0), 2)
cv.imshow("img", frame)
if cv.waitKey(1) amp; 0xFF == ord('x'):
break
cap.release()
Ответ №1:
Вы должны указать OpenCV, какой размер использовать с устройством захвата:
cap = cv.VideoCapture(0)
cap.set(cv.CAP_PROP_FRAME_WIDTH, 1920)
cap.set(cv.CAP_PROP_FRAME_HEIGHT, 1080)
Обратите внимание, что ваша камера может поддерживать только определенные разрешения, поэтому важно это проверить.
Комментарии:
1. Спасибо! Я попробовал это, и это действительно делает окно больше. Однако это не решение. Но я перезагрузил свой компьютер, и он работает. Я не знаю, почему
2. @водитель устройства камеры с сыром ведет себя неправильно, было бы моим подозрением. Однако по-прежнему важно указать желаемый (и ожидаемый) размер выходного кадра.
3. Это отмечено @Abstract . Спасибо!
Ответ №2:
Я перезагрузил свой компьютер, и, как ни странно, он работает. Размер окна теперь вернулся к нормальному