OpenCV cvLUT - eiichiromomma/CVMLAB GitHub Wiki

(OpenCV) cvLUT

多チャンネル画像でのcvLUTの使い方

cvLUTの仕様

当たり前だがLUTのマトリクスは原画像および置換用の画像と同じチャネル数が必要。

サンプルソース

最初にtest.jpgを読んで、LUTを作成、cvLUTで色置換して表示。

    #include <cv.h>
    #include <highgui.h>
    void main(void)
    {
      IplImage* src = cvLoadImage("test.jpg)",1);
      CvMat* lut_mat;
      //8Uな3Channelカラー画像用LUT
      lut_mat = cvCreateMat( 1, 256, CV_8UC3 );
      CvScalar sc;
      //色反転LUTの作成
      for (int i=0; i<256; i++){
        sc=cvScalar(255-i,255-i,255-i);
        cvSet1D(lut_mat,i,sc);
      } 
      cvLUT(src,src,lut_mat);
      cvNamedWindow("test",1);
      cvShowImage("test",src);
      cvWaitKey(0);
    }

結果

原画像

結果

⚠️ **GitHub.com Fallback** ⚠️