Kod pisania
- 2731
- 673
- Seweryn Augustyniak
Ten mały program OpenCV pokazuje, jak oddzielić obraz RGB na komponenty R, G i B. Program jest napisany w programowaniu niskiego poziomu, ponieważ w OpenCV jest wbudowana funkcja, która uczyniłoby ten kod bardziej wydajny. Jednak ten przykład pogłębia zrozumienie, w jaki sposób obraz jest podzielony na matrycę pikseli i jak każdy piksel można manipulować osobno.
Kod pisania
#include #include "cv.H „#include” highgui.h "Używając przestrzeni nazw Std; int main (int argc, char ** argv) // ładuj kolor IMG określony przez pierwszy argument // iplimage *img = cvloadimage (argv [1]); iplimage *img = cvloadimage (argv [1 ], Cv_load_image_color); iplimage *red = cvcreateImage (cvSize (img-> szerokość, img-> wysokość), img-> głębokość, img-> nchannels); iplimage *green = cvcreateImage (cvsize (IMG-> width, img-, img-, img-, img-, img- > wysokość), img-> głębokość, img-> nchannels); iplimage *blue = cvCreateImage (cvSize (img-> szerokość, img-> wysokość), img-> głębokość, img-> nchannels); // konfiguruj wskaźnik pointer Aby uzyskać dostęp do danych IMG UCHAR * pimg = (UChar *) img-> entuzacedata; // wskaźnik konfiguracji do zapisu danych UCHAR * pred = (UChar *) Red-> imagedata; UChar * pGreen = (UChar *) Green-> imagedata; UChar * pBlue = (UCher *) Blue-> entuzacedata; int i, j, czerwony, zielony, niebieski, bajt; for (i = 0; i high; i ++) for (j = 0; j szerokość; j ++) Red = pimg [i*img-> szerokie + j*img-> nchannels + 2];Green = pimg [i*img-> szerokość + j*img-> nchannels + 1]; Blue = pimg [i*img-> szerokie + j*img-> nchannels + 0]; // czerwony pred [i*img-> szerokość + j*img-> nchannels + 2] = czerwony; // Zielony pgreen [i*img-> szerokość + j*img-> nchannels + 1] = zielony; // Blue pBlue [i*img-> szerokie + j*img-> nchannels + 0] = niebieski; // Zapisz obrazy cvsaveImage (argv [2], czerwony); CVSAVEIMAGE (Argv [3], zielony); CvSaveImage (Argv [4], niebieski); powrót 0;
SKOMPILOWAĆ
G ++ 'pkg-config opencv--cflags-libs' \ osobne rgb.cpp -o osobne rgb
STOSOWANIE
./Oddziel-RGB IMG.PNG czerwony.PNG Green.PNG Blue.png
Powiązane samouczki Linux:
- Wprowadzenie do Vagrant
- Samouczek debugowania GDB dla początkujących
- Zagnieżdżone pętle w skryptach Bash
- Jak zbudować aplikację Tkinter za pomocą obiektu zorientowanego na…
- Advanced Bash Regex z przykładami
- Mastering Bash Script Loops
- Jak pracować z WooCommerce Rest API z Pythonem
- Rzeczy do zainstalowania na Ubuntu 20.04
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Wyrażenia regularne Pythona z przykładami