Difference between revisions of "RidgeRun OpenCV Fork"

From RidgeRun Developer Connection
Jump to: navigation, search
(Undo revision 32958 by Mgruner (talk))
(Tag: Undo)
Line 1: Line 1:
 +
== 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 '''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:
 
The fork is hosted at:
 
  https://github.com/RidgeRun/opencv
 
  https://github.com/RidgeRun/opencv
 
These enhancements are being curated to be pushed mainstream. The progress of this effort will be kept here.
 
  
 
__TOC__
 
__TOC__
Line 18: Line 18:
  
 
=== GStreamer Video Capture ===
 
=== 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:
 +
<source lang=python>
 +
import cv2 as cv
 +
 +
PIPE = "videotestsrc pattern=black !  \
 +
        video/x-raw,format=BGR,width=1920,height=1080 ! \
 +
        perf print-arm-load=true ! \
 +
        appsink sync=false drop=false max-buffers=3"
 +
 +
cap = cv.VideoCapture(PIPE, cv.CAP_GSTREAMER)
 +
 +
while True:
 +
    ret, frame = cap.read()
 +
 +
cap.release()
 +
cv.destroyAllWindows()
 +
</source>
 +
* Execution:
 +
<source lang=bash>
 +
GST_DEBUG=perf:4 python3 ./benchmark.py
 +
</source>

Revision as of 09:50, 18 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:
import cv2 as cv

PIPE = "videotestsrc pattern=black !  \
        video/x-raw,format=BGR,width=1920,height=1080 ! \
        perf print-arm-load=true ! \
        appsink sync=false drop=false max-buffers=3"

cap = cv.VideoCapture(PIPE, cv.CAP_GSTREAMER)

while True:
    ret, frame = cap.read()

cap.release()
cv.destroyAllWindows()
  • Execution:
GST_DEBUG=perf:4 python3 ./benchmark.py