Primer programa en OpenCV
Una vez que has aprendido a instalar OpenCV, es interesante a crear tus primeros programas en él.
El primer programa va a ser la superposición de dos imágenes con su respectiva transparencia. Se introduce la transparencia de una imagen y en la otra imagen se obtiene la contraria (1 – alpha).
Para probar la aplicación, copia y pega este código en un archivo de texto con nombre ejemplo.cpp:
#include#include #include #include int main(int argc, char* argv[]) { double alpha = 0.5; double beta; double input; cv::Mat src1, src2, dst; // Obtenemos la transparencia Alpha std::cout<<"Introduce Alpha [0-1]: "; std::cin>>input; // Comprobamos que Alpha se encuentra entre 0 y 1 if( alpha >= 0 && alpha <= 1 ) { alpha = input; } // Leemos la imagen (mismos pixels en 'x' y en 'y', mismo tipo) src1 = cv::imread("1.png"); src2 = cv::imread("2.png"); // Si hay error de lectura mostramos el error if( !src1.data ) { std::cout<<"Error loading src1 \n"; return -1; } if( !src2.data ) { std::cout<<"Error loading src2 \n"; return -1; } // Creamos una ventana cv::namedWindow("Linear Blend", 1); // Obtenemos Beta beta = ( 1.0 - alpha ); // Aplicamos el algoritmo de mezcla cv::addWeighted( src1, alpha, src2, beta, 0.0, dst); // Y la mostramos en una ventana cv::imshow( "Linear Blend", dst ); cv::waitKey(0); return 0; }
Para compilar usaremos CMake. Hace poco hice un tutorial sobre cómo utilizar y usar CMake de una manera simple. En nuestro ejemplo el archivo CMakeLists.txt quedaría así:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(ejemplo) FIND_PACKAGE(OpenCV REQUIRED) ADD_EXECUTABLE(ejemplo ejemplo.cpp) TARGET_LINK_LIBRARIES(ejemplo ${OpenCV_LIBS})
Compila y ejecuta y verás el resultado que aparece en la imagen de arriba. Enhorabuena, has creado tu primer programa en OpenCV.