实现LUT

//实现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_TCHARargv[])
{    
    Mat src = imread("banner2.bmp");
    imshow("src",src);
    colorReduce(src);
    imshow("dst",src);
    waitKey();
    return 0;
}
 
效果是很简单的。其实我认为这是提供了一种模块化的解决问题的办法。因为同样的结果,我即使不适用函数也是可以来实现了。
LUT方法用于解决离散的像素装换的问题,提供了最快速的解决方法。很多时候应该优先想到这一点。
 



原文地址:https://www.cnblogs.com/jsxyhelu/p/5562069.html