Archivo

Use OpenCV para separar la imagen RGB en componentes de color verde rojo y azul

Use OpenCV para separar la imagen RGB en componentes de color verde rojo y azul

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
Envío de formulario HTML automático utilizando wwwMechanize
Aquí hay un breve consejo sobre cómo enviar automáticamente un formulario HTML usando una línea de comandos de Linux y un script Perl. Para este ejemp...
GNU R - Paquete no encontrado - Cómo instalar
La mayoría de los paquetes R están disponibles en el repositorio estándar de su distribución de Linux. En caso de que falle la biblioteca de carga por...
ESP almacenado en caché para reducir el ancho de banda - wget y meta con metaxion
Es una práctica común de ISP para almacenar en caché cualquier archivo posible para descargarlo nuevamente. Como resultado general, esto ahorrará much...