使用迭代器遍历图像

来源:互联网 发布:中国好声音网络歌手 编辑:程序博客网 时间:2024/04/26 11:05
#include<opencv2\core\core.hpp>#include<opencv2\imgproc\imgproc.hpp>#include<opencv2\highgui\highgui.hpp>#include<iostream>using namespace std;using namespace cv;//颜色缩减函数/*void colorReduce(cv::Mat &image,int div=64){int nl=image.rows;int nc=image.cols*image.channels();//if(image.isContinuous())//{//nc=nc*nl;//nl=1;//cout<<"未填补"<<endl;//}for(int j=0;j<nl;j++){uchar* data=image.ptr<uchar>(j);for(int i=0;i<nc;i++){data[i]=data[i]/div*div+div/2;}}}*/void colorReduce(cv::Mat &image,int div=64){cv::Mat_<cv::Vec3b>::iterator it=image.begin<cv::Vec3b>();cv::Mat_<cv::Vec3b>::iterator itend=image.end<cv::Vec3b>();for(;it!=itend;++it){(*it)[0]=(*it)[0]/div*div+div/2;(*it)[1]=(*it)[1]/div*div+div/2;(*it)[2]=(*it)[2]/div*div+div/2;}}int main(){    cv::Mat image=cv::imread("d:\\test\\opencv\\img.jpg");colorReduce(image);cv::namedWindow("output");cv::imshow("output",image);waitKey(0);return 0;}


0 0
原创粉丝点击