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.
Ver comentarios
Saludos, estoy trabajando en un proyecto de reconocimiento de patrones en imagenes digitales, me toca utilizar la matriz de coocurrencia y la transformada de fourier para extraer los rasgos de textura, ya investigue y estan implementados en OpenCV, pero no tengo ni idea de como empezar, todos los tutoriales que he encontrado estan en ingles y he tenido problemas con las traducciones, si me puedes ayudar te lo agradeceria.
Ángel, he encontrado ésto:
http://blog.electricbricks.com/es/2010/05/reconocimiento-objetos-opencv/
http://clouddistrict.com/articulo/tutorial-reconocimiento-de-patrones-con-opencv-en-iphone-iii/
No sé si te servirá de ayuda. Lo que sí te digo es que si quieres información abundante y tutoriales específicos sobre OpenCV tienes que verlos en inglés.
Espero haberte sido de ayuda.
Bueno Muchas Gracias por tu ayuda. Tratare de hacer un tutorial para luego postearlo.
Hola! Si quiero ejecutarlo en la máquina virtual, entonces, cómo llevo los archivos desde el PC a la máquina virtual? Y tengo que ir a ese directorio poniendo cd/ etc. ? Gracias