Skip to content

A Desktop Application to showcase primary OpenCV functions. With OpenCV Catalogue one create a chain of various available OpenCV functions.

License

Notifications You must be signed in to change notification settings

JairajJangle/OpenCV-Catalogue

Repository files navigation

Contributors Forks Stargazers Issues MIT License Build Status LinkedIn


Logo

OpenCV Catalogue

A GUI application to view and test all OpenCV operations
Explore the docs »

Download · Report Bug · Request Feature

Table of Contents

About The Project

Demo-Video-GIF

OpenCV Catalogue Application Demo Video illustrating isolation of Red color

OpenCV Catalogue is a stand alone application which is made to let you test any OpenCV operation without a need to code. This awesome GUI application lets you control all parameters of an OpenCV operation using GUI elements such as Sliders/Seekbars, Input Text Box, Radio Buttons and Check Boxes. You can even form a series or chain of OpenCV operations, control individual operation parameters and view the output. Exporting realtime output is also supported.

This project is still under development and as of now covers some primitive OpenCV operations. But, with the power of open sourcing, this application can be made to cover all the OpenCV operations, very soon.

This repository also contain release packages with standalone GUI application which anyone can run it on their Linux system. OpenCV Catalogue is primarily saves user's time with figuring out what parameter causes what changes on the output.

Features:

  • Select camera, image and video file, network stream as input source
  • Real time ajustment of paramters of selected OpenCV operation
  • Chaining of various OpenCV operations in a sequence
  • Provides link to official OpenCV documentation to selected OpenCV operation
  • Record and export output
  • View output of each operation in the chain using Exploded View (Experimental)

Planned features:

  • OpenCV machine learning operations
  • Support for CUDA based operations
  • Two-Dimensional chaining of OpenCV operations

Built With

Getting Started

Run the standalone application

tar xjf opencv-catalogue.tar.bz2 
cd <OpenCV_Catalogue.sh file location>
chmod +x OpenCV_Catalogue.sh
./OpenCV_Catalogue.sh

Application usage

1. Select Input source

Input_Cam Input_File Input_Network

Select one of the above input sources

Input_Network

  • Confirm the source selection by clicking on Logo button.
  • Select "Mirror" option to make the input Matrix mirrored along Y-axis

2. Select and Chain OpenCV Operations

Chain_Ops

Select OpenCV Operation from the "Examples" Menu

In the Select and Chain OpenCV Operations box(left side), click on:

button to add a OpenCV function in chain

button to remove the selected OpenCV function from chain

radio button to select the OpenCV operation for it's parameter adjustment

NOTE: on adding an incompatible OpenCV Operation to the chain, it will be automatically removed from the chain with a pop up dialog stating the error.

3. Adjusting OpenCV Operation parameters

Adjust_Params

GUI to adjust selected operation paramters is in the right side

4. Record and Export Input-Output Stream

  • Select folder where you want to export the output to.
  • Click on capture image(camera button) to capture and save current frame of input and output image.
  • Or you can also start video recording to export the video of input and output in realtime, click on stop button to end and save the video recording.

5. OpenCV Catalogue GUI summary

Gallery

Convenient GUI for parameter value adjustment

  • Each OpenCV operation has it's own parameter control GUI

  • Changing parameters values reflect the changes in real time

  • Clicking on Logo button at the top right corner besides the selected operation name will reveal the official OpenCV documentation for the selected operation in your internet browser.

  • Click on Switch Theme button at the bottom right corner to swtich between Dark Mode and Light Mode Theme

  • Two themes available: Dark and Light

  • Various GUI elements are used:

    • Seekbar for definite ranging values
    • Check box for binary options
    • Text Input Field for indefinite values and decimal values
    • Radio Buttons to select one out of many options

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Check CONTRIBUTING.md.

License

Distributed under the GNU GPL v3 License.

Contact

Jairaj Jangle - 🐦@JairajJangle | ✉️ jairaj.jangle@gmail.com

Project Link: https://github.com/JairajJangle/Open-CV-Catalogue

Support the project development

         

LiberPay_Donation_Button           Paypal_Donation_Button           Paypal_Donation_Button

         

Acknowledgements