一、问题描述
用videocapture打开摄像头的时候,不管如何改分辨率始终存在上下黑边。且黑边部分影响后续预处理效果。
cam = cv.VideoCapture(0)
if not cam.read()[0]:
cam = cv.VideoCapture(1)
cam.set(cv.CAP_PROP_FRAME_WIDTH, 640)
cam.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
二、问题解决
加入CAP_DSHOW
cv2.CAP_DSHOW是作为open调用的一部分传递标志,还有许多其它的参数,而这个CAP_DSHOW是微软特有的。
cam = cv.VideoCapture(0 + cv.CAP_DSHOW)
if not cam.read()[0]:
cam = cv.VideoCapture(1 + cv.CAP_DSHOW)
cam.set(cv.CAP_PROP_FRAME_WIDTH, 640)
cam.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
三、参考链接
https://stackoverflow.com/questions/52043671/opencv-capturing-imagem-with-black-side-bars