C++ RGB图片垂直翻转

来源:互联网 发布:windows sdk v8.1 编辑:程序博客网 时间:2024/06/04 19:48


int imgVerticalRotary(const MatsrcImg,//输入图片Mat&VertImg)//输出图片{if(!srcImg.data){LOOGE<<"[image error!]";return -1; }//int nRet = 0;int j_r, i_c;int srcWidth, srcHeight;//srcWidth = srcImg.cols;srcHeight = srcImg.rows;VertImg = Mat::zeros(srcHeight, srcWidth, CV_8UC3);//输出图片初始化//翻转原理:生成图片q[i][j] = 原始图片p[height - i][j],其中height为原始图片高度for(j_r = 0; j_r < srcHeight; j_r++){auto ptr = srcImg.ptr<uchar>(srcHeight - j_r);  auto qtr = VertImg.ptr<uchar>(j_r);  for(i_c = 0; i_c < srcWidth; i_c++){//cout<<"j_r = "<<j_r<<"\t i_c = "<<i_c<<endl; qtr[0] = ptr[0]; qtr[1] = ptr[1]; qtr[2] = ptr[2]; //cout<<(int)(VertImg.at<uchar>(j_r, i_c))<<" ";ptr -= 3;qtr += 3;}}return nRet;}


参考:C++ Mat 读取imagedata内的数据

0 0
原创粉丝点击