Capture single picture with opencv


Question

I have seen several things about capturing frames from a webcam stream using python and opencv, But how do you capture only one picture at a specified resolution with python and opencv?

1
8
11/14/2010 7:29:10 PM

You can capture a single frame by using the VideoCapture method of OpenCV.

import numpy as np
import cv2

cap = cv2.VideoCapture(0) # video capture source camera (Here webcam of laptop) 
ret,frame = cap.read() # return a single frame in variable `frame`

while(True):
    cv2.imshow('img1',frame) #display the captured image
    if cv2.waitKey(1) & 0xFF == ord('y'): #save on pressing 'y' 
        cv2.imwrite('images/c1.png',frame)
        cv2.destroyAllWindows()
        break

cap.release()

Later you can modify the resolution easily using PIL.

3
9/16/2015 6:58:10 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon