Menulis kod

Menulis kod

Program OpenCV kecil ini menunjukkan cara memisahkan imej RGB ke dalam komponen R, G dan B. Program ini ditulis dalam pengaturcaraan peringkat rendah kerana terdapat fungsi dalam OpenCV yang akan menjadikan kod ini lebih cekap. Walau bagaimanapun, contoh ini memperdalam pemahaman tentang bagaimana imej dibahagikan kepada matriks piksel dan bagaimana setiap piksel dapat dimanipulasi secara berasingan.

Menulis kod

#termasuk #include "cv.H "#include" highgui.h "menggunakan ruang nama std; int main (int argc, char ** argv) // warna beban img yang ditentukan oleh argumen pertama // iplimage *img = cvloadimage (argv [1]); ipleMage *img = cvloadimage (argv [1 ], Cv_load_image_color); iplimage *red = cvcreateimage (cvsize (img-> width, img-> height), img-> kedalaman, img-> nchannels); iPlimage *hijau = cvcreateimage (cvsize (img-> > ketinggian), img-> kedalaman, img-> nchannels); iplimage *blue = cvcreateimage (cvsize (img-> width, img-> height), img-> kedalaman, img-> nchannels); // setup penunjuk untuk mengakses data IMG Uchar * pimg = (Uchar *) img-> ImageData; // Penunjuk persediaan untuk menulis data Uchar * pred = (Uchar *) Red-> Imagedata; Uchar * pGreen = (Uchar *) Green-> ImageData; Uchar * pblue = (Uchar *) Blue-> ImageData; int i, j, merah, hijau, biru, byte; untuk (i = 0; i ketinggian; i ++) untuk (j = 0; j lebar; j ++)  merah = pimg [i*img-> widthStep + j*img-> nchannels + 2];hijau = pimg [i*img-> widthStep + j*img-> nchannels + 1]; biru = pimg [i*img-> widthStep + j*img-> nchannels + 0]; // merah pred [i*img-> widthStep + j*img-> nchannels + 2] = merah; // pgreen hijau [i*img-> widthStep + j*img-> nchannels + 1] = hijau; // pblue biru [i*img-> widthStep + j*img-> nchannels + 0] = biru;  // Simpan imej cvSaveImage (argv [2], merah); cvSaveImage (argv [3], hijau); cvSaveImage (argv [4], biru); kembali 0;  

Menyusun

g ++ 'pkg-config opencv --fflags-libs' \ berasingan-rgb.CPP -O berasingan -RGB 

Penggunaan

./berasingan-RGB IMG.png merah.png hijau.png biru.png

Tutorial Linux Berkaitan:

  • Pengenalan kepada Vagrant
  • Tutorial Debugging GDB untuk Pemula
  • Gelung bersarang dalam skrip bash
  • Cara Membina Aplikasi TKInter Menggunakan Objek Berorientasikan ..
  • Advanced Bash Regex dengan contoh
  • Menguasai Gelung Skrip Bash
  • Cara Bekerja Dengan API Rest WooCommerce dengan Python
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Ungkapan biasa python dengan contoh