OpenCV access elements by dynamic address

来源:互联网 发布:淘宝天猫店是如何申请 编辑:程序博客网 时间:2024/06/04 18:54

OpenCV access elements by dynamic address

#include <opencv2/core/core.hpp>  #include <opencv2/highgui/highgui.hpp>  #include <iostream>  using namespace std;using namespace cv;void colorReduce(Mat& inputImage, Mat& outputImage, int div);int main() {Mat srcImage = imread("1.JPG");imshow("原始图像", srcImage);Mat dstImage;dstImage.create(srcImage.rows, srcImage.cols, srcImage.type());double time0 = static_cast<double>(getTickCount());colorReduce(srcImage, dstImage, 32);time0 = ((double)getTickCount() - time0) / getTickFrequency();cout << "此方法的时间为" << time0 << "秒" << endl;  imshow("效果图", dstImage);waitKey(0);}void colorReduce(Mat& inputImage, Mat& outputImage, int div) {outputImage = inputImage.clone();int rowNumber = outputImage.rows;int colNumber = outputImage.cols;for (int i = 0; i < rowNumber; i++) {for (int j = 0; j < colNumber; j++) {outputImage.at<Vec3b>(i, j)[0] = outputImage.at<Vec3b>(i, j)[0] / div * div + div / 2;outputImage.at<Vec3b>(i, j)[1] = outputImage.at<Vec3b>(i, j)[1] / div * div + div / 2;outputImage.at<Vec3b>(i, j)[2] = outputImage.at<Vec3b>(i, j)[2] / div * div + div / 2;}}}


0 0
原创粉丝点击