查找表:
OpenCV中将data定义为uchar*,而当我们用构造函数创建一个Mat对象的时候,可以指定图像的数据类型有CV_8UC1、CV_8UC3、CV_32FC1、CV_32FC3等多种,那么我们如何通过data指针去访问和修改图像的某一个像素值呢,对于数据为uchar类型的Mat对象,可以直接用data访问和修改,对于数据为float或double类型的Mat对象,我们同样可以用data对图像的某个像素值进行访问和修改操作,方法就是将data强制转换成指向Mat对象对应数据类型的指针。
查找表步骤:
1.创建一个Mat型查找表
2.用指针写对应关系
3.调用LUT函数
int main ()
{
Mat a(1,256,CV_8UC1);
uchar* p=a.data;
for(int i=0;i<255;i++)
{
a.data=i/10*10;
}
Mat src=imread("logo.png");
Mat dst;
LUT(src,a,dst);
cout<<dst;
}