cheese
cheese

Reputation: 73

OpenCV window automatically resized too small

Last time I checked my code, the window size is normal. But when I run it now, the window became small. Please does anybody know how to get this to normal?

Here's my code:

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) & 0xFF == ord('x'):
        break

cap.release()

Heres how it looks like

Upvotes: 0

Views: 158

Answers (2)

cheese
cheese

Reputation: 73

I restarted my pc, and weirdly enough, it works. Window size is now back to normal

Upvotes: 0

Abstract
Abstract

Reputation: 995

You have to tell OpenCV what size to use with the capture device:

cap = cv.VideoCapture(0)
cap.set(cv.CAP_PROP_FRAME_WIDTH, 1920)
cap.set(cv.CAP_PROP_FRAME_HEIGHT, 1080)

Note, your camera may only support certain resolutions, so it's important to check that.

Upvotes: 2

Related Questions