Une (très) lib UI simple construit au-dessus des primitives de dessin OpenCV. D'autres LIB d'interface utilisateur, tels que IMGUI, nécessitent un backend graphique (par exemple OpenGL) pour fonctionner, donc si vous souhaitez utiliser IMGUI dans une application OpenCV, vous devez le rendre OpenGL activé, par exemple. Ce n'est pas le cas avec CVUI, qui utilise uniquement des primitives de dessin OpenCV pour faire tout le rendu (pas OpenGL ou QT requis).
CVUI est une lib uniquement en tête qui ne nécessite pas de construction. Ajoutez simplement cvui.h (ou cvui.py ) à votre projet et vous êtes prêt à partir. La seule dépendance est OpenCV (version 2.x ou 3.x ), que vous utilisez probablement déjà.
Consultez la documentation en ligne ou le dossier Exemples pour apprendre à utiliser CVUI. L'utilisation générale en C ++ et Python est illustrée ci-dessous.
Utilisation en C ++:
# include < opencv2/opencv.hpp >
// One (and only one) of your C++ files must define CVUI_IMPLEMENTATION
// before the inclusion of cvui.h to ensure its implementaiton is compiled.
# define CVUI_IMPLEMENTATION
# include " cvui.h "
# define WINDOW_NAME " CVUI Hello World! "
int main ( int argc, const char *argv[])
{
// Create a frame where components will be rendered to.
cv::Mat frame = cv::Mat ( 200 , 500 , CV_8UC3);
// Init cvui and tell it to create a OpenCV window, i.e. cv::namedWindow(WINDOW_NAME).
cvui::init (WINDOW_NAME);
while ( true ) {
// Fill the frame with a nice color
frame = cv::Scalar ( 49 , 52 , 49 );
// Render UI components to the frame
cvui::text (frame, 110 , 80 , " Hello, world! " );
cvui::text (frame, 110 , 120 , " cvui is awesome! " );
// Update cvui stuff and show everything on the screen
cvui::imshow (WINDOW_NAME, frame);
if ( cv::waitKey ( 20 ) == 27 ) {
break ;
}
}
return 0 ;
}Utilisation à Python:
import numpy as np
import cv2
import cvui
WINDOW_NAME = 'CVUI Hello World!'
# Create a frame where components will be rendered to.
frame = np . zeros (( 200 , 500 , 3 ), np . uint8 )
# Init cvui and tell it to create a OpenCV window, i.e. cv2.namedWindow(WINDOW_NAME).
cvui . init ( WINDOW_NAME )
while True :
# Fill the frame with a nice color
frame [:] = ( 49 , 52 , 49 )
# Render UI components to the frame
cvui . text ( frame , 110 , 80 , 'Hello, world!' )
cvui . text ( frame , 110 , 120 , 'cvui is awesome!' )
# Update cvui stuff and show everything on the screen
cvui . imshow ( WINDOW_NAME , frame )
if cv2 . waitKey ( 20 ) == 27 :
break Copyright (C) 2016 Fernando Bevilacqua. Licencié sous la licence du MIT.
Voir toutes les modifications du fichier ChangeLog.