(1)查找表是一个一对多(或者多对一)的函数,定义了如何将像素值转换为新的值,它本质上是一个一维数组,对于常规图像而言有256个条目
(2)Opencv提供了使用查找表直接计算出量化灰度级后图像的函数——LUT
(3)下面带码主要求图像的反转,以及将个数低于指定数目(默认为0)的bin舍去,剩下的最小值变为0,最大值变为255,中间的部分线性拉伸(注意写代码师一定要注意自己定义的是什么数据类型)
//
#include <opencv2\core\core.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace cv;
//计算单通道灰度图直方图
Mat Hist(Mat& image){
Mat hist;
float rang[2]={
0.0,255.0};
int channels[1]={
0};
int dims=1;
int histSize[1]={
256};
const float* ranges[1]={rang};
calcHist(&image,1,channels,Mat(),hist,dims,histSize,ranges);
return hist;
}
//画出直方图
Mat GetHistimage(Mat& image){
Mat hist=Hist(image);
Mat