#include "mainwindow.h"
#include
#include
using namespace cv;
using namespace std;
/* 名字: 颜色空间缩减函数
* 目的:减少图像中颜色的数量
* 方法: 比如原来有256中颜色,要将其变成64种颜色:
* 将原来的颜色/4然后乘以4就可以了
*/
/* 方法1:用指针访问像素,release时速度最快 0.0066653 */
void colorReducePtr(Mat &inputImage, Mat& outputImage, int div)
{
//参数准备
outputImage = inputImage.clone(); //复制实参到临时变量
int rowNumber = outputImage.rows; //行数
int colNumber = outputImage.cols * outputImage.channels(); //每一行元素的个数 = 类数 * 通道数
//双for,遍历所有像素值
for(int i = 0; i < rowNumber; ++i) //行
{
uchar *data = outputImage.ptr(i); //获取第i行的首地址
for(int j = 0; j < colNumber; ++j)
{
data[j] = data[j]/div*div + div/2; /