Un (muy) UI LIB simple construido sobre las primitivas de dibujo OpenCV. Otras LIBS UI, como IMGUI, requieren un backend gráfico (por ejemplo, OpenGL) para funcionar, por lo que si desea usar IMGUI en una aplicación OpenCV, debe hacerlo habilitado para OpenGL, por ejemplo. No es el caso con CVUI, que solo utiliza primitivas de dibujo OpenCV para hacer toda la representación (no se requiere OpenGL o QT).
CVUI es una lib solo como encabezado que no requiere una construcción. Simplemente agregue cvui.h (o cvui.py ) a su proyecto y estará listo para comenzar. La única dependencia es OpenCV (versión 2.x o 3.x ), que probablemente ya esté usando.
Consulte la documentación en línea o la carpeta de ejemplos para aprender a usar CVUI. El uso general en C ++ y Python se muestra a continuación.
Uso 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 ;
}Uso en 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. Licenciado bajo la licencia del MIT.
Vea todos los cambios en el archivo ChangeLog.