Código de escritura
- 2098
- 358
- Norma Sedillo
Este pequeño programa OpenCV demuestra cómo separar la imagen RGB en los componentes R, G y B. El programa está escrito en programación de bajo nivel, ya que hay una función de construcción en OpenCV, lo que haría que este código sea más eficiente. Sin embargo, este ejemplo profundiza la comprensión de cómo la imagen se divide en matriz de píxeles y cómo se puede manipular cada píxel por separado.
Código de escritura
#Include #Include "CV.H "#include" Highgui.h "Usando el espacio de nombres std; int ], Cv_load_image_color); iPlimage *rojo = cvCreateImage (cvSize (img-> width, img-> altura), img-> profundidad, img-> nchannels); iPlimage *verde = cvcreateImage (cvSize (img-> width, img------------------ > altura), img-> profundidad, img-> nchannels); iPlimage *blue = cvcreateImage (cvSize (img-> ancho, img-> altura), img-> profundidad, img-> nchannels); // Configura el puntero Para acceder a los datos IMG álchar * pimg = (ubar *) img-> iMageData; // Configurar puntero para escribir datos UCHAR * pred = (ubar *) rojo-> iMageData; ubar * pgreen = (ub *) green-> iMageData; UChar * pBlue = (UChar *) Blue-> iMagedata; int i, J, rojo, verde, azul, byte; para (i = 0; i altura; i ++) para (j = 0; j ancho; j ++) rojo = pimg [i*img-> widthstep + j*img-> nchannels + 2];verde = pimg [i*img-> widthstep + j*img-> nchannels + 1]; Blue = Pimg [i*img-> widthstep + j*img-> nchannels + 0]; // rojo pred [i*img-> widthstep + j*img-> nchannels + 2] = rojo; // Pgreen verde [i*img-> widthstep + j*img-> nchannels + 1] = verde; // azul pblue [i*img-> widthstep + j*img-> nchannels + 0] = azul; // Guardar imágenes CVSaveImage (argv [2], rojo); cvsaveImage (argv [3], verde); cvsaveImage (argv [4], azul); regresar 0;
COMPILAR
G ++ 'PKG-Config OpenCV--CFlags-Libs' \ separado-RGB.CPP -O separado -RGB
USO
./IMG por separado-RGB.png rojo.PNG Green.PNG Azul.png
Tutoriales de Linux relacionados:
- Introducción a Vagrant
- Tutorial de depuración de GDB para principiantes
- Bucles anidados en guiones Bash
- Cómo construir una aplicación Tkinter utilizando un objeto orientado ..
- Bash Regex avanzado con ejemplos
- Mastering Bash Script Loops
- Cómo trabajar con la API REST de WooCommerce con Python
- Cosas para instalar en Ubuntu 20.04
- Una introducción a la automatización, herramientas y técnicas de Linux
- Expresiones regulares de Python con ejemplos