opencv2.4.3访问图像像素常用几种方法
更新时间:2023-05-19 21:47:01 阅读量: 实用文档 文档下载
opencv2.4.3访问图像的简单的几种方法:指针法,迭代器法,at()函数法,供大家参考。
通过不同方式访问图像像素
最近在学习vs2010并结合opencv2.4.3进行图像处理,首先研究了在opencv中如何去访问像素,查阅资料,浏览博客,总结了一下,一般有三种方法:Mat类的.at()函数,指针,迭代器,代码如下:
// sy1.cpp : 定义控制台应用程序的入口点。
/////////////////////////////
#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
double t1=(double)getTickCount(); Mat img_gray; cvtColor(img,img_gray,CV_RGB2GRAY); //彩图转为灰度图 imwrite("C:\\Users\\Administrator\\Desktop\\002ff.bmp",img_gray); Mat img2(img_gray.rows,img_gray.cols,CV_8U); int i,j; uchar* pt; for (i=0;i<img_gray.rows;i++) { } ///////////////////最简单的.at()函数////////////////////////////////////////////// ////////////////////////不推荐此方式,太慢///////////////////////////////////////// int i,j; for (i=0;i<img_gray.rows;i++) { pt=img_gray.ptr<uchar>(i); for (j=0;j<img_gray.cols;j++) { } if (pt[j]>100) { } else img2.at<uchar>(i,j)=0; img2.at<uchar>(i,j)=255; //第i行的第j个像素 //获取第i行的首地址 //记录起始时间 Mat img=imread("C:\\Users\\Administrator\\Desktop\\002.bmp"); 通过不同的方式去访问图像像素///////////////////////////////////////////// /////////////////////////////指针访问/////////////////////////////////////////////
opencv2.4.3访问图像的简单的几种方法:指针法,迭代器法,at()函数法,供大家参考。
} } for (j=0;j<img_gray.cols;j++) { } if(img_gray.at<uchar>(i,j)>100) img2.at<uchar>(i,j)=255; img2.at<uchar>(i,j)=0; else /////////////////////使用迭代器去访问////////////////////////////////////////////// ///////////////速度不是最快的,但是安全///////////////////////////////////////////// Mat_<uchar>::iterator it=img_gray.begin<uchar>(); Mat_<uchar>::iterator it1=img2.begin<uchar>(); while(it!=img_gray.end<uchar>()) { } double t2=(double)getTickCount(); cout<<t3<<"s"<<endl; namedWindow("ff"); imshow("ff",img2); imwrite("C:\\Users\\Administrator\\Desktop\\shiyan.bmp",img2); waitKey(0); return 0;
总结,指针的方法是最快的;at()函数法最慢,但是理解起来方便;迭代器法居中,但是安全。 //结束时间 //耗时 double t3=(t2-t1)/getTickFrequency(); if (*it>100) { } else { } ++it; ++it1; (*it1)=0; (*it1)=255; //获得初始位置迭代器
正在阅读:
高分子科学系学生党建工作简报2011年4月高分子科学系学生党建07-18
幼儿语言表演课教案系列分享06-03
古代人物别称大全10-13
人教版六年级下册语文第7单元试卷10-11
常见安全漏洞的处理及解决方法11-10
实 验 五09-28
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 像素
- 图像
- 常用
- 方法
- opencv
- 访问
- 2.4
- 2014年河南省基础教育教学研究项目立项指南
- X品牌化妆品媒介计划书
- 第二章平行线与相交线知识点及测试题(四)
- 军事理论知识要点
- 高双折射光子晶体光纤研究进展
- 中国近现代文学史历年试卷
- 某干部严以律己,严守党的政治纪律和政治规矩,自觉做政治上的明白人发言稿【推荐】
- 第11讲文言文阅读(三):文言句式梳理
- 论英语教学中文化意识的培养
- 2016新年祝公司发展的祝福语50条
- 2009-2010事业单位面试真题及解析
- 躯体形式障碍的疑病症
- 原来这句日语这样说
- 红塔集团2013年管理成熟度评价报告
- 复杂招标问题的综合评标法
- 论文选题(开题报告、文献综述)资料查找论文写作与规范
- 宏业清单计价软件入门必备
- 西安路小学2008-2009学年工作计划
- 模拟电子技术(模电课后习题含答案)(第三版)
- 2010年小学思品二年级下册教学计划