All Projects → cvlab-ai → cvlab

cvlab-ai / cvlab

Licence: other
CV Lab - Computer Vision Laboratory - a rapid prototyping tool for computer vision algorithms

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to cvlab

Pencil
DEPRECATED: Multiplatform GUI Prototyping/Wireframing
Stars: ✭ 1,941 (+6832.14%)
Mutual labels:  prototyping
Govuk Prototype Kit
Rapidly create HTML prototypes of GOV.UK services
Stars: ✭ 239 (+753.57%)
Mutual labels:  prototyping
vent
Vent is a light-weight platform built to automate network collection and analysis pipelines using a flexible set of popular open source tools and technologies. Vent is python-based, extensible, leverages docker containers, and provides both an API and CLI.
Stars: ✭ 73 (+160.71%)
Mutual labels:  prototyping
Baumeister
👷 The aim of this project is to help you to build your things. From Bootstrap themes over static websites to single page applications.
Stars: ✭ 171 (+510.71%)
Mutual labels:  prototyping
Odl
Operator Discretization Library https://odlgroup.github.io/odl/
Stars: ✭ 198 (+607.14%)
Mutual labels:  prototyping
framer-view-stack
A Framer module for creating views that stack on top of each other.
Stars: ✭ 24 (-14.29%)
Mutual labels:  prototyping
Mag.js
MagJS - Modular Application Glue
Stars: ✭ 157 (+460.71%)
Mutual labels:  prototyping
ufw
A minimalist framework for rapid server side applications prototyping in C++ with dependency injection support.
Stars: ✭ 19 (-32.14%)
Mutual labels:  prototyping
Mockoon
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Stars: ✭ 3,448 (+12214.29%)
Mutual labels:  prototyping
design-starter-kit
A universal prototyping setup powered by @expo 🥤
Stars: ✭ 20 (-28.57%)
Mutual labels:  prototyping
Motorhead
A Rails Engine framework that helps safe and rapid feature prototyping
Stars: ✭ 182 (+550%)
Mutual labels:  prototyping
Protovue
A prototyping component library
Stars: ✭ 195 (+596.43%)
Mutual labels:  prototyping
Scribble-Font
Scribble Font for Prototyping & Wireframing
Stars: ✭ 48 (+71.43%)
Mutual labels:  prototyping
Handout
Turn Python scripts into handouts with Markdown and figures
Stars: ✭ 1,973 (+6946.43%)
Mutual labels:  prototyping
ilua
Portable Lua kernel for Jupyter
Stars: ✭ 99 (+253.57%)
Mutual labels:  prototyping
Sketchize
Sketchize is built for UI/UX Designers to help them design lovely apps for mobile, tablet, and desktop devices.
Stars: ✭ 162 (+478.57%)
Mutual labels:  prototyping
walkiebot
walkiebot opensource
Stars: ✭ 42 (+50%)
Mutual labels:  prototyping
aik
Frontend Playground
Stars: ✭ 43 (+53.57%)
Mutual labels:  prototyping
chatengine
💬🛵 Engine to quickly prototype chat applications in javascript
Stars: ✭ 12 (-57.14%)
Mutual labels:  prototyping
switchyard
Switchyard is a Python 3-based framework for building networked system software.
Stars: ✭ 39 (+39.29%)
Mutual labels:  prototyping

CV Lab - Computer Vision Laboratory - a rapid prototyping tool for computer vision algorithms

INSTALLATION

Installation using pip:

pip3 install --upgrade cvlab

This command will install CV Lab (or update if you have already installed it). See the PyPI page for more information.

Alternatively you can clone entire git repository:

CV Lab requires: PyQt5, OpenCV, numpy, scipy, pygments, tinycss2, matplotlib.

DESCRIPTION

CV Lab enables convenient development of computer vision algorithms by means of graphical designing of the processing flow. Writing code with OpenCV might be a time-consuming process. It is often required to compile and run the code multiple times in order to see the results of the modifications of the algorithm. Especially when some parameters are to be tuned for establishing the optimal values. Some code also has to be added to provide presentation of the intermediate or final results of the algorithm.

Instead, CV Lab offers interactive construction of the algorithms. OpenCV functions are available in a form of a palette of image processing blocks. They can be drag'n'dropped into a diagram and connected to each other for defining the data flow. Outputs of the functions in the diagram can be previewed. Parameters are available as convenient widgets like sliders or spinners. Therefore, any change in the diagram or parameter values can be instantly observed in the selected previews.

Homepage on GitHub: https://github.com/cvlab-ai/cvlab
PyPI package: https://pypi.python.org/pypi/cvlab

USAGE

To run CV Lab just write in console:

cvlab

or:

python3 -m cvlab

or:

python3 -O cvlab/__main__.py

Creating image processing diagram

  1. Drag&drop processing elements from the palette to diagram area
  2. Connect elements by drag&dropping their connectors
  3. Open output previews by double-clicking elements
  4. Adjust parameters and see the outputs

Moving around the diagram

  1. Use middle mouse button or mouse wheel to scroll the diagram
  2. Select single element by clicking on it
  3. Select multiple elements by clicking and dragging on the diagram area
  4. Move elements with drag&drop

Displaying output images or data

  1. Double-click on the element to open data previews
  2. Use mouse wheel on the previews to zoom in/out
  3. Double-click on the preview to open external window with additional preview

Writing python code using CV Lab

  1. Put Code element on the diagram and connect its inputs/outputs, open previews
  2. Open Edit code dialog
  3. Write whatever python code you like :)
  4. See the results in real-time
  5. Be careful about infinite loops...
  6. In long loops use intpoint() - it will allow the code to be interrupted when it's needed
  7. To store state of the code element, you can use memory (a dict which survives recalculations)

Generating python code from the diagram

  1. Right-click on last element of the diagram
  2. Select generate code. The code will be copied to system clipboard.
  3. Paste the code to empty python file
  4. You can use the code as a library or as a script

Note: code generation is experimental. It may not work correctly with diagrams utilizing Sequences or some sophisticated elements.

Creating your own elements

Adding elements to CV Lab is really simple. See: cvlab_experimental/sample.py

KNOWN ISSUES

Random crashes

Due to a bug in old versions of OpenCV Python binding (<3.1), some OpenCV functions may cause random crashes of the entire application. Please use latest version of OpenCV available on the official OpenCV website.

Alternatively, you can install latest unofficial build of OpenCV using pip:

pip3 install --upgrade opencv-python

Note that most Linux OS packages often use outdated version of OpenCV. Before using above command you should uninstall them.

Broken python generated code

Automatic code generation is experimental. Only experienced users shall use it.

Some elements cannot be easily translated to python script code. Also, code generated from diagrams utilizing sequences may not work correctly.

Please, forgive us.

COPYRIGHT

                             CV Lab
                  
       Copyright (c) 2013-2019 Adam Brzeski, Jan Cychnerski
              
      This software is distributed under 'AGPL-3.0+' license,
       excluding cvlab/diagram/elements and cvlab/thirdparty
  
          Files in directory cvlab/diagram/elements are
                 distributed under 'MIT License'.
     
              Files in directory cvlab/thirdparty are
             distributed under their specific licenses.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].