OpenCV cvLUT - eiichiromomma/CVMLAB GitHub Wiki
(OpenCV) 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);
}
原画像
結果