为什么 cv2 read() 方法提供来自网络摄像头的裁剪图像?

why cv2 read() method giving cropped image from webcam?

cap = cv2.VideoCapture(0)
isError, frame = cap.read()
print(frame.shape) # output (480, 640, 3)

而正常的网络摄像头捕获大小为 (720,1280)。 注意我说的不是比率。我从 cv2 得到的图像实际上是自动裁剪的!!!

如何获取整个网络摄像头图像?

set() 方法可用于更改网络摄像头的分辨率。

cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)

isError, frame = cap.read()
print(frame.shape) # output (720, 1280, 3)