//实现LUT 查找表
#include "stdafx.h"
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
void colorReduce(Mat &image,int div = 64){
Mat lookup(1,256,CV_8U);
for (int i=0;i<256;i++)
lookup.at<uchar>(i) = 256-i;
LUT(image,lookup,image);
}
int _tmain(int argc, _TCHAR* argv[])
{
Mat src = imread("banner2.bmp");
imshow("src",src);
colorReduce(src);
imshow("dst",src);
waitKey();
return 0;
}
效果是很简单的。其实我认为这是提供了一种模块化的解决问题的办法。因为同样的结果,我即使不适用函数也是可以来实现了。
LUT方法用于解决离散的像素装换的问题,提供了最快速的解决方法。很多时候应该优先想到这一点。