Difference between revisions of "RidgeRun OpenCV Fork"
Line 14: | Line 14: | ||
* GStreamer support | * GStreamer support | ||
* CUDA support (if applicable) | * CUDA support (if applicable) | ||
+ | |||
+ | == Enhancements == | ||
+ | |||
+ | === GStreamer Video Capture === | ||
+ | |||
+ | Tested under the following conditions | ||
+ | * OpenCV Version: 4.4.0 | ||
+ | * FPS and CPU usage taken with the [https://github.com/ridgerun/gst-perf GstPerf] element. | ||
+ | * The following script: | ||
+ | <script lang=python> | ||
+ | #!/usr/bin/env python3 | ||
+ | |||
+ | import cv2 as cv | ||
+ | |||
+ | PIPE = "videotestsrc pattern=black ! \ | ||
+ | video/x-raw,format=BGR,width=1920,height=1080 ! \ | ||
+ | appsink sync=false drop=false max-buffers=3" | ||
+ | |||
+ | cap = cv.VideoCapture(PIPE, cv.CAP_GSTREAMER) | ||
+ | |||
+ | while True: | ||
+ | ret, frame = cap.read() | ||
+ | cv.imshow('display', frame) | ||
+ | if cv.waitKey(1) & 0xFF == ord('q'): | ||
+ | break | ||
+ | |||
+ | cap.release() | ||
+ | cv.destroyAllWindows() | ||
+ | </script> |
Revision as of 23:54, 17 September 2020
Introduction
The RidgeRun OpenCV fork is a modified version of the project with various improvements around speed and efficiency. While some changes are general (i.e.: any platform will benefit from them), others are specific to the NVIDIA Jetson family.
The fork is hosted at:
https://github.com/RidgeRun/opencv
Building the Project
Follow the instructions in our Compiling OpenCV from Source page. Make sure you select:
- RidgeRun fork
- GStreamer support
- CUDA support (if applicable)
Enhancements
GStreamer Video Capture
Tested under the following conditions
- OpenCV Version: 4.4.0
- FPS and CPU usage taken with the GstPerf element.
- The following script:
<script lang=python>
- !/usr/bin/env python3
import cv2 as cv
PIPE = "videotestsrc pattern=black ! \
video/x-raw,format=BGR,width=1920,height=1080 ! \ appsink sync=false drop=false max-buffers=3"
cap = cv.VideoCapture(PIPE, cv.CAP_GSTREAMER)
while True:
ret, frame = cap.read() cv.imshow('display', frame) if cv.waitKey(1) & 0xFF == ord('q'): break
cap.release() cv.destroyAllWindows() </script>