[英]Python cv2.VideoCapture() has wrong resolution and read cropped images
我正在嘗試使用 Python 和 OpenCV 通過 ethe.net 從插入筆記本電腦的 IDS GV-5240CP 相機讀取圖像。
這是我應該得到的:
但是使用這段代碼:
import cv2
cap = cv2.VideoCapture(1)
_, frame = cap.read()
print(frame.shape)
cv2.imshow("Out", frame)
cv2.waitKey(2000)
cap.release()
cv2.destroyAllWindows()
cv2.imwrite('Test2.png', frame)
我得到:
如何將我的視頻捕獲設置為原始分辨率?
VideoCapture
默認使用 640x480。
如果您想要不同的分辨率,請在構造函數中指定它或使用帶有CAP_PROP_FRAME_WIDTH
等的set()
方法。 文檔中的詳細信息。
cap = cv2.VideoCapture(1, apiPreference=cv2.CAP_ANY, params=[
cv2.CAP_PROP_FRAME_WIDTH, 1280,
cv2.CAP_PROP_FRAME_HEIGHT, 1024])
out = cv2.VideoWriter(("E:", 'output.avi'), fourcc, 20.0, (640, 480)) 嘗試使用它並根據需要更改分辨率,它會下載或使用 cv2.resize (幀,(w,h),fx=0,fy=0,插值= cv2.INTER_CUBIC)
由於您不想這樣做,因此請使用 OpenCV 中的 set() 模塊來設置特定分辨率。 docs.opencv.org/4.x/d8/dfe/...此鏈接可獲取有關 set() 的完整信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.