访问Mat中每个像素的值(简单的图像取反)

来源:互联网 发布:学java就业好么 编辑:程序博客网 时间:2024/06/10 00:26

访问Mat中每个像素的值

方法0.ptr和[]操作符

Mat最直接的访问方法是通过.ptr<>函数得到一行的指针,并用[]操作符访问某一列的像素值。
int main(int argc, char* argv[]) {Mat img = imread("E:\\11.jpg");int nr = img.rows; // number of rows  int nc = img.cols * img.channels(); // total number of elements per line  for (int i = 0; i <nr; i++){uchar* data = img.ptr<uchar>(i);for (int j = 0; j < nc; j++){data[j] = 255 - data[j];//我是简单的像素取反,可以其他操作的}}namedWindow("img");imshow("img", img);waitKey(0);system("pause");return 0;}
方法一:.ptr和指针操作
除了[]操作符,我们可以移动指针*++的组合方法访问某一行中所有像素的值。
int main(int argc, char* argv[]) {Mat img = imread("E:\\11.jpg");int nr = img.rows; // number of rows  int nc = img.cols * img.channels(); // total number of elements per line  for (int i = 0; i <nr; i++){uchar* data = img.ptr<uchar>(i);for (int j = 0; j < nc; j++){*data++ = 255 - *data;}}namedWindow("img");imshow("img", img);waitKey(0);system("pause");return 0;}
方法二:用Mat提供的迭代器代替前面的[]操作符或指针
int main(int argc, char* argv[]) {Mat img = imread("E:\\11.jpg");cv::Mat_<cv::Vec3b>::iterator it = img.begin<cv::Vec3b>();cv::Mat_<cv::Vec3b>::iterator itend = img.end<cv::Vec3b>();for (; it != itend; ++it){(*it)[0] = 255 - (*it)[0];(*it)[1] = 255 - (*it)[1];(*it)[2] = 255 - (*it)[2];}namedWindow("img");imshow("img", img);waitKey(0);system("pause");return 0;}
方法三:图像坐标

int main(int argc, char* argv[]) {Matimg = imread("E:\\11.jpg");int nr = img.rows; // number of rows  int nc = img.cols; // number of columns  for (int j = 0; j<nr; j++) {for (int i = 0; i<nc; i++) {img.at<cv::Vec3b>(j, i)[0] = 255 - img.at<cv::Vec3b>(j, i)[0];img.at<cv::Vec3b>(j, i)[1] = 255 - img.at<cv::Vec3b>(j, i)[1];img.at<cv::Vec3b>(j, i)[2] = 255 - img.at<cv::Vec3b>(j, i)[2];} // end of row                   }namedWindow("img");imshow("img", img);waitKey(0);system("pause");return 0;}
方法四:创建输出图像
之前的方法都是直接修改原图,方法四新建了输出图像。









































阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 随变 随喜 随喜 予方 随喜是什么意思 随喜功德 随园食单 随园 南师大随园校区地址 平遥随园客栈 青园 南京师范大学随园校区 南京师范大学随园 随国 随嫁 随字拼音 随字开头的成语 四字成语随性洒脱的 随州 随州论坛 随州房产网 随州网 随州市 随州银杏谷 随州人才网 随州大洪山 随州银杏 随州景点 随州邮编 随州旅游 随州招聘 武汉随州 武汉到随州 随州钟三 随州公园 随州到武汉 随州火车站 随州高铁 随州特产 随州日报 随州在哪 随州徐德