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或相机的问题吗?有什么建议吗?非常感谢!
答案 0 :(得分:0)
1920x1080的纵横比为16:9,当您更改分辨率时,OpenCV保留了纵横比,因此1280x720也具有16:9的纵横比。
如果您急于获得1280x1024,我建议您捕获1920x1080,然后从中间裁剪出必要的部分。