//设置颜色空间对照表
void InitColorTable()
{
for(int i=0;i<256;i++)
ColorTable[i]=(i/120)*120; //可修改阈值
}
//依照转换表对图片进行转换
void Test_LookUpTable()
{
InitColorTable();
//1行256列,8位无符号
Mat lookUpTable(1,256,CV_8U);
uchar *p=lookUpTable.data;
for(int i=0;i<256;i++)
p[i]=ColorTable[i];
Mat g_srcImage=imread("D:\\OpenCV Projects\\OpenCV_Test_Image\\5.jpg");
Mat g_tmpImage;
for(int i=0;i<256;i++)
LUT(g_srcImage,lookUpTable,g_tmpImage);//依照转换表进行转换
imshow("原图",g_srcImage);
imshow("转换后",g_tmpImage);
}



原文:http://www.cnblogs.com/foggia2004/p/6596739.html