Categorías: Tutoriales

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.

Manuel Ignacio López Quintero

Doctor en Ingeniería Informática especializado en Sistemas Inteligentes y Visión Artificial. Profesor y coadministrador de Linux Hispano. Para más información o para contactar con él visita su página oficial: Manuel Ignacio López Quintero.

Ver comentarios

Compartir
Publicado por
Manuel Ignacio López Quintero

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

1 mes hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace