Python opencv camera capture

Getting Started with Videos¶

Often, we have to capture live stream with camera. OpenCV provides a very simple interface to this. Let’s capture a video from the camera (I am using the in-built webcam of my laptop), convert it into grayscale video and display it. Just a simple task to get started.

To capture a video, you need to create a VideoCapture object. Its argument can be either the device index or the name of a video file. Device index is just the number to specify which camera. Normally one camera will be connected (as in my case). So I simply pass 0 (or -1). You can select the second camera by passing 1 and so on. After that, you can capture frame-by-frame. But at the end, don’t forget to release the capture.

import numpy as np import cv2 cap = cv2.VideoCapture(0) while(True): # Capture frame-by-frame ret, frame = cap.read() # Our operations on the frame come here gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # Display the resulting frame cv2.imshow('frame',gray) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything done, release the capture cap.release() cv2.destroyAllWindows() 

cap.read() returns a bool (True/False). If frame is read correctly, it will be True. So you can check end of the video by checking this return value.

Sometimes, cap may not have initialized the capture. In that case, this code shows error. You can check whether it is initialized or not by the method cap.isOpened(). If it is True, OK. Otherwise open it using cap.open().

Читайте также:  Counter reset in css

You can also access some of the features of this video using cap.get(propId) method where propId is a number from 0 to 18. Each number denotes a property of the video (if it is applicable to that video) and full details can be seen here: Property Identifier. Some of these values can be modified using cap.set(propId, value). Value is the new value you want.

For example, I can check the frame width and height by cap.get(3) and cap.get(4) . It gives me 640×480 by default. But I want to modify it to 320×240. Just use ret = cap.set(3,320) and ret = cap.set(4,240) .

If you are getting error, make sure camera is working fine using any other camera application (like Cheese in Linux).

Playing Video from file¶

It is same as capturing from Camera, just change camera index with video file name. Also while displaying the frame, use appropriate time for cv2.waitKey() . If it is too less, video will be very fast and if it is too high, video will be slow (Well, that is how you can display videos in slow motion). 25 milliseconds will be OK in normal cases.

import numpy as np import cv2 cap = cv2.VideoCapture('vtest.avi') while(cap.isOpened()): ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow('frame',gray) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() 

Make sure proper versions of ffmpeg or gstreamer is installed. Sometimes, it is a headache to work with Video Capture mostly due to wrong installation of ffmpeg/gstreamer.

Saving a Video¶

So we capture a video, process it frame-by-frame and we want to save that video. For images, it is very simple, just use cv2.imwrite() . Here a little more work is required.

This time we create a VideoWriter object. We should specify the output file name (eg: output.avi). Then we should specify the FourCC code (details in next paragraph). Then number of frames per second (fps) and frame size should be passed. And last one is isColor flag. If it is True, encoder expect color frame, otherwise it works with grayscale frame.

FourCC is a 4-byte code used to specify the video codec. The list of available codes can be found in fourcc.org. It is platform dependent. Following codecs works fine for me.

  • In Fedora: DIVX, XVID, MJPG, X264, WMV1, WMV2. (XVID is more preferable. MJPG results in high size video. X264 gives very small size video)
  • In Windows: DIVX (More to be tested and added)
  • In OSX : (I don’t have access to OSX. Can some one fill this?)

FourCC code is passed as cv2.VideoWriter_fourcc(‘M’,’J’,’P’,’G’) or cv2.VideoWriter_fourcc(*’MJPG) for MJPG.

Below code capture from a Camera, flip every frame in vertical direction and saves it.

import numpy as np import cv2 cap = cv2.VideoCapture(0) # Define the codec and create VideoWriter object fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480)) while(cap.isOpened()): ret, frame = cap.read() if ret==True: frame = cv2.flip(frame,0) # write the flipped frame out.write(frame) cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break else: break # Release everything if job is finished cap.release() out.release() cv2.destroyAllWindows() 

Источник

Python opencv camera capture

  • Image Resizing using OpenCV | Python
  • Python OpenCV | cv2.erode() method
  • Python | Image blurring using OpenCV
  • Python OpenCV | cv2.copyMakeBorder() method
  • Python | Grayscaling of Images using OpenCV
  • Image Processing in Python (Scaling, Rotating, Shifting and Edge Detection)
  • Erosion and Dilation of images using OpenCV in python
  • OpenCV Python Program to analyze an image using Histogram
  • Histograms Equalization in OpenCV
  • Python | Thresholding techniques using OpenCV | Set-1 (Simple Thresholding)
  • Python | Thresholding techniques using OpenCV | Set-2 (Adaptive Thresholding)
  • Python | Thresholding techniques using OpenCV | Set-3 (Otsu Thresholding)
  • OpenCV: Segmentation using Thresholding
  • Python OpenCV | cv2.cvtColor() method
  • Filter Color with OpenCV
  • Python | Denoising of colored images using opencv
  • Python | Visualizing image in different color spaces
  • Find Co-ordinates of Contours using OpenCV | Python
  • Python | Bilateral Filtering
  • Image Inpainting using OpenCV
  • Python | Intensity Transformation Operations on Images
  • Python | Image Registration using OpenCV
  • Python | Background subtraction using OpenCV
  • Background Subtraction in an Image using Concept of Running Average
  • Python | Foreground Extraction in an Image using Grabcut Algorithm
  • Python | Morphological Operations in Image Processing (Opening) | Set-1
  • Python | Morphological Operations in Image Processing (Closing) | Set-2
  • Python | Morphological Operations in Image Processing (Gradient) | Set-3
  • Image segmentation using Morphological operations in Python
  • Image Translation using OpenCV | Python
  • Image Pyramid using OpenCV | Python
  • Python | Program to extract frames using OpenCV
  • Displaying the coordinates of the points clicked on the image using Python-OpenCV
  • White and black dot detection using OpenCV | Python
  • Python | OpenCV BGR color palette with trackbars
  • Draw a rectangular shape and extract objects using Python’s OpenCV
  • Invisible Cloak using OpenCV | Python Project
  • ML | Unsupervised Face Clustering Pipeline
  • Saving Operated Video from a webcam using OpenCV
  • Face Detection using Python and OpenCV with webcam
  • Opening multiple color windows to capture using OpenCV in Python
  • Python | Play a video in reverse mode using OpenCV
  • Template matching using OpenCV in Python
  • Cartooning an Image using OpenCV – Python
  • Vehicle detection using OpenCV Python
  • Count number of Faces using Python – OpenCV
  • Live Webcam Drawing using OpenCV
  • Detect and Recognize Car License Plate from a video in real time
  • Build GUI Application Pencil Sketch from Photo in Python
  • Python OpenCV – Drowsiness Detection
  • Face Alignment with OpenCV and Python
  • Age Detection using Deep Learning in OpenCV
  • Right and Left Hand Detection Using Python
  • OpenCV Python: How to detect if a window is closed?
  • Save frames of live video with timestamps – Python OpenCV
  • Detecting low contrast images with OpenCV, scikit-image, and Python
  • Animate image using OpenCV in Python
  • Drawing a cross on an image with OpenCV
  • Blur and anonymize faces with OpenCV and Python
  • Face detection using Cascade Classifier using OpenCV-Python
  • Real time object color detection using OpenCV
  • Python – Writing to video with OpenCV
  • Add image to a live camera feed using OpenCV-Python
  • Face and Hand Landmarks Detection using Python – Mediapipe, OpenCV
  • Emotion Based Music Player – Python Project
  • Realtime Distance Estimation Using OpenCV – Python
  • Webcam QR code scanner using OpenCV
  • Color Identification in Images using Python – OpenCV
  • Real-Time Edge Detection using OpenCV in Python | Canny edge detection method
  • Opencv Python program for Face Detection
  • Image Resizing using OpenCV | Python
  • Python OpenCV | cv2.erode() method
  • Python | Image blurring using OpenCV
  • Python OpenCV | cv2.copyMakeBorder() method
  • Python | Grayscaling of Images using OpenCV
  • Image Processing in Python (Scaling, Rotating, Shifting and Edge Detection)
  • Erosion and Dilation of images using OpenCV in python
  • OpenCV Python Program to analyze an image using Histogram
  • Histograms Equalization in OpenCV
  • Python | Thresholding techniques using OpenCV | Set-1 (Simple Thresholding)
  • Python | Thresholding techniques using OpenCV | Set-2 (Adaptive Thresholding)
  • Python | Thresholding techniques using OpenCV | Set-3 (Otsu Thresholding)
  • OpenCV: Segmentation using Thresholding
  • Python OpenCV | cv2.cvtColor() method
  • Filter Color with OpenCV
  • Python | Denoising of colored images using opencv
  • Python | Visualizing image in different color spaces
  • Find Co-ordinates of Contours using OpenCV | Python
  • Python | Bilateral Filtering
  • Image Inpainting using OpenCV
  • Python | Intensity Transformation Operations on Images
  • Python | Image Registration using OpenCV
  • Python | Background subtraction using OpenCV
  • Background Subtraction in an Image using Concept of Running Average
  • Python | Foreground Extraction in an Image using Grabcut Algorithm
  • Python | Morphological Operations in Image Processing (Opening) | Set-1
  • Python | Morphological Operations in Image Processing (Closing) | Set-2
  • Python | Morphological Operations in Image Processing (Gradient) | Set-3
  • Image segmentation using Morphological operations in Python
  • Image Translation using OpenCV | Python
  • Image Pyramid using OpenCV | Python
  • Python | Program to extract frames using OpenCV
  • Displaying the coordinates of the points clicked on the image using Python-OpenCV
  • White and black dot detection using OpenCV | Python
  • Python | OpenCV BGR color palette with trackbars
  • Draw a rectangular shape and extract objects using Python’s OpenCV
  • Invisible Cloak using OpenCV | Python Project
  • ML | Unsupervised Face Clustering Pipeline
  • Saving Operated Video from a webcam using OpenCV
  • Face Detection using Python and OpenCV with webcam
  • Opening multiple color windows to capture using OpenCV in Python
  • Python | Play a video in reverse mode using OpenCV
  • Template matching using OpenCV in Python
  • Cartooning an Image using OpenCV – Python
  • Vehicle detection using OpenCV Python
  • Count number of Faces using Python – OpenCV
  • Live Webcam Drawing using OpenCV
  • Detect and Recognize Car License Plate from a video in real time
  • Build GUI Application Pencil Sketch from Photo in Python
  • Python OpenCV – Drowsiness Detection
  • Face Alignment with OpenCV and Python
  • Age Detection using Deep Learning in OpenCV
  • Right and Left Hand Detection Using Python
  • OpenCV Python: How to detect if a window is closed?
  • Save frames of live video with timestamps – Python OpenCV
  • Detecting low contrast images with OpenCV, scikit-image, and Python
  • Animate image using OpenCV in Python
  • Drawing a cross on an image with OpenCV
  • Blur and anonymize faces with OpenCV and Python
  • Face detection using Cascade Classifier using OpenCV-Python
  • Real time object color detection using OpenCV
  • Python – Writing to video with OpenCV
  • Add image to a live camera feed using OpenCV-Python
  • Face and Hand Landmarks Detection using Python – Mediapipe, OpenCV
  • Emotion Based Music Player – Python Project
  • Realtime Distance Estimation Using OpenCV – Python
  • Webcam QR code scanner using OpenCV
  • Color Identification in Images using Python – OpenCV
  • Real-Time Edge Detection using OpenCV in Python | Canny edge detection method
  • Opencv Python program for Face Detection

Источник

Оцените статью