Archive

Utilisez OpenCV pour séparer l'image RVB en composants verts rouges et bleus

Utilisez OpenCV pour séparer l'image RVB en composants verts rouges et bleus

Ce petit programme OpenCV montre comment séparer l'image RVB en composants R, G et B. Le programme est écrit en programmation de bas niveau car il y a une fonction de fonction dans OpenCV qui rendrait ce code plus efficace. Cependant, cet exemple approfondit une compréhension de la façon dont l'image est divisée en matrice de pixels et comment chaque pixel peut être manipulé séparément.

Écrire du code

#include #include "CV.h "#include" highgui.H "Utilisation de l'espace de noms std; int main (int argc, char ** argv) // charger la couleur img spécifiée par premier argument // iPlimage * img = cvloadImage (argv [1]); iPlimage * img = cvloadImage (argv [1 ], Cv_load_image_color); iPlimage * red = cvcreateImage (cvSize (img-> largeur, img-> hauteur), img-> profondeur, img-> nchannels); iplimage * green = cvcreateImage (cvsize (iMg-> largeur, img- > hauteur), img-> profondeur, img-> nchannels); iPlimage * bleu = cvcreateImage (cvSize (img-> largeur, img-> hauteur), img-> profondeur, img-> nchannels); // configurer le pointeur Pour accéder aux données IMG Uchar * Pimg = (uchar *) img-> imagedata; // Configuration du pointeur pour écrire des données uchar * pred = (uchar *) red-> imagedata; uchar * pgreen = (uchar *) green-> imagedata; uchar * pblue = (uchar *) bleu-> imagedata; int i, j, rouge, vert, bleu, octet; for (i = 0; i hauteur; i ++) for (j = 0; j width; j ++)  red = pimg [i * img-> widthstep + j * img-> nchannels + 2];green = pimg [i * img-> widthstep + j * img-> nchannels + 1]; bleu = pimg [i * img-> widthstep + j * img-> nchannels + 0]; // Red Pred [i * img-> widthStep + j * img-> nchannels + 2] = rouge; // Green Pgreen [i * img-> widthStep + J * img-> nchannels + 1] = vert; // blue pblue [i * img-> widthStep + j * img-> nchannels + 0] = bleu;  // Enregistrer les images cvsaveImage (argv [2], rouge); cvsaveimage (argv [3], vert); cvsaveimage (argv [4], bleu); retour 0;  

COMPILER

G ++ 'PKG-Config OpenCV --cflags - libs' \ séparément-rgb.CPP -O séparé-RGB 

USAGE

./ IMG RVB séparé.PNG rouge.PNG Green.png bleu.PNG
Réinitialisation de l'appareil à large bande mobile USB Vodafone avec USB_MODESWITCH
La première fois que j'ai utilisé mon appareil à large bande mobile Vodafone USB sur mon système Fedora Linux, cela a parfaitement fonctionné . Cepend...
Chown- Page manuelle
Nom Chown - Modifier le fichier Propriétaire et Synopsis de groupe Chown [Option]… [propriétaire] [ [groupe]] Fichier… Chown [Option]… -Reference = RF...
pli- manuel
Nom pli - enveloppez chaque ligne d'entrée pour s'adapter à la largeur spécifiée Synopsis pli [Option]… [Fichier]… Description des lignes d'entrée env...