opencv减色算法

来源:互联网 发布:linux怎么建站 编辑:程序博客网 时间:2024/05/21 17:09
#include "mainwindow.h"#include <QApplication>#include <iostream>#include <string>#include <stdio.h>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/opencv.hpp>using namespace cv;void colorReduce(cv::Mat image, int div=64) {    int nl= image.rows; // 行数    // 每行的元素数量    int nc= image.cols * image.channels();    for (int j=0; j<nl; j++) {        // 取得行j的地址        uchar* data= image.ptr<uchar>(j);        for (int i=0; i<nc; i++) {            // 处理每个像素 ---------------------            data[i]= data[i]/div*div + div/2;            // 像素处理结束 ----------------        } // 一行结束    }}int main(int argc, char *argv[]){    Mat image; //    image= imread("C:\\Users\\Administrator\\Desktop\\QTsucai\\result.jpg"); // 读取输入图像    if(image.empty()){        return 0;    }    colorReduce(image,64);    namedWindow("Original Image");    imshow("Original Image", image);    waitKey(20);    getchar();    return 0;}