无法使用opencv获得我想要的分辨率

时间:2018-07-22 07:23:13

标签: python opencv

import cv2
import numpy as np
cap = cv2.VideoCapture(1)
cap.set(3,1920)
cap.set(4,1080)

while(1):
    _,frame = cap.read()
    cv2.imshow("capture", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        cv2.imwrite("save.jpg", frame)
        break
cap.release()
cv2.destroyAllWindows()

当我将分辨率设置为1920 * 1080时,将获得1920 * 1080的save.jpg。但是当我将分辨率设置为1280 * 1024时,我得到的jpg为1280 * 720。这是opencv或相机的问题吗?有什么建议吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

1920x1080的纵横比为16:9,当您更改分辨率时,OpenCV保留了纵横比,因此1280x720也具有16:9的纵横比。

如果您急于获得1280x1024,我建议您捕获1920x1080,然后从中间裁剪出必要的部分。