Écrire du code

Écrire du code

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

Tutoriels Linux connexes:

  • Introduction à Vagrant
  • Tutoriel de débogage GDB pour les débutants
  • Boucles imbriquées dans les scripts bash
  • Comment créer une application Tkinter à l'aide d'un objet orienté…
  • Advanced Bash Regex avec des exemples
  • Masterring Bash Script Loops
  • Comment travailler avec l'API WooCommerce REST avec Python
  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Python Expressions régulières avec des exemples