Opencv2中LUT函数操作(颜色空间缩减)
#include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespace cv; int main( ) { //建立一个查找表 int table[256]; int div = 50; for (int i = 0; i < 256; i++) { table[i] = i / div * div; } Mat lut(1, 256, CV_8U); //为Mat矩阵添加元素值 uchar *p = lut.data; for (int i = 0; i < 256; i++) { p[i] = table[i]; } Mat srcImage = imread("E:\\图片\\opencv2图片\\188.jpg"); Mat dstImage; dstImage.create(srcImage.size(), srcImage.type()); //查找表操作 LUT(srcImage, lut, dstImage); imshow("[原图]", srcImage); imshow("[颜色空间减缩后图]", dstImage); waitKey(0); return 0; }
原图:
效果图: