Archiv

Verwenden Sie OpenCV, um das RGB -Bild in rotgrüne und blaue Komponenten zu trennen

Verwenden Sie OpenCV, um das RGB -Bild in rotgrüne und blaue Komponenten zu trennen

Dieses kleine OpenCV -Programm zeigt, wie das RGB -Image in R-, G- und B -Komponenten getrennt wird. Das Programm ist in niedriger Programmierung geschrieben, da in OpenCV die Funktion erstellt wird, die diesen Code effizienter machen würde. Dieses Beispiel vertieft jedoch ein Verständnis dafür, wie das Bild in die Matrix von Pixeln aufgeteilt wird und wie jedes Pixel separat manipuliert werden kann.

Code schreiben

#include #include "cv.H "#include" HighGui.H "Verwenden von Namespace std; int main (int argc, char ** argv) // Farbe im ersten Argument angegeben. ], Cv_load_image_color); iplimage *red = cvcreateimage (cvsize (img-> width, img-> height), img-> tiefe, img-> nchannels); iplimage *green = cvcreateimage (cvsize (img-> width, img-, img- > Höhe), img-> Tiefe, img-> nchannel); iplimage *blue = cvcreateimage (cvsize (img-> breit, img-> Höhe), img-> tiefe, img-> nchannel); // Richten Sie den Zeiger ein So greifen Sie auf IMG-Daten zu uchar * pimg = (uchar *) img-> imagedata; // Zeiger einrichten, um Daten zu schreiben. uchar * pBblue = (uchar *) blau-> imagedata; int i, j, rot, grün, blau, byte; für (i = 0; i Höhe; i ++) für (j = 0; j width; j ++)  rot = pimg [i*img-> widthStep + j*img-> nchannels + 2];grün = pimg [i*img-> widthStep + j*img-> nchannels + 1]; blau = pimg [i*img-> widthStep + j*img-> nchannels + 0]; // rote Prädium [i*img-> widthStep + j*img-> nchannels + 2] = rot; // Green pgreen [i*img-> widthStep + j*img-> nchannels + 1] = grün; // Blue pBblue [i*img-> widthStep + j*img-> nchannels + 0] = blau;  // Bilder speichern cvsaveimage (argv [2], rot); cvsaveimage (argv [3], grün); cvsaveimage (argv [4], blau); Rückkehr 0;  

KOMPILIEREN

g ++ 'pkg-config opencv--cflags-libs' \ separat-rgb.CPP -o separat -rgb 

VERWENDUNG

./separat-rgb img.PNG rot.PNG Green.PNG Blau.png
IBM ThinkPad XTOP 10S Laptop Battery Life Time Test
IBM ThinkPad X60S Laptop Akkulzeit / Kapazitätstest. Hier sind Paartests, die vom Linux -Dienstprogramm von Powertop Intel auf IBM ThinkPad X60S -Lapt...
Google bietet eine kostenlose MySQL -Datenbank an
Suchmaschine ist ein sehr leistungsfähiges Werkzeug, aber nicht nur für die Suche, sondern auch für Anfängerhacking. Einige MySQLadmin -Web -Tools sin...
Zeigen Sie die Google -Suchergebnisse aus unterschiedlichen Gegenständen an
In vielen Fällen habe ich versucht, nach Schlüsselwörtern zu suchen und ein Ergebnis zu erhalten, das ein Land ist, das nicht das ist, nach dem ich su...