《OpenCV图像处理》——2.2 像素级访问

2.2 像素级访问

为了处理图像,必须了解如何独立地访问每个像素。OpenCV提供若干方法进行独立像素访问。在这一节中,介绍两种方法:第一种方法对于程序员来说很简单,而第二种方法效率更高。
第一种方法使用模板函数at< >。为了使用这种方法,必须指定矩阵单元的类型,例如下面这个简短示例:

该示例用灰度和彩色两种方式读取同一幅图像,并访问(0, 0)处的第一个像素。在第一种情况中,像素类型是无符号字符(即uchar)。在第二种情况中,图像以全色方式读取,必须使用Vec3b类型,它指向一个无符号字符的三元组。当然,函数at< >也可以出现在一个赋值符号的左侧,即改变一个像素的值。
下面是另一个简短示例,使用这个方法将浮点矩阵初始化为Pi值:

请注意,at< >方法并不是很有效,因为必须从像素的行和列计算出精确的内存位置。当逐个处理整幅图像的像素时,是非常费时的。第二种方法使用函数ptr,它返回指向图像特定行的一个指针。下面的代码片段获取一幅彩色图像中每个像素的像素值:

在上面的示例中,ptr用来得到一个指向每行中第一个像素的指针。使用这个指针,现在可以在内层循环中访问每一列。

时间: 2024-08-04 07:28:49

《OpenCV图像处理》——2.2 像素级访问的相关文章

《OpenCV图像处理》——导读

前言 OpenCV,可以说是使用最广泛的计算机视觉库,它包括几百个易用的图像成像和视觉函数,既可用于学术研究,也可用于工业领域.随着摄像机越来越便宜和对影像学特征需求的增长,无论是对于台式机还是移动平台,OpenCV的应用范围都有了显著增长. 本书结合示例讲述OpenCV的主要图像处理算法.OpenCV方面的其他书籍试图说明其基础理论,或提供接近完整的大型应用程序示例,而本书则针对这样的读者而编写:他们想要尽量快速地得到一个易于理解的工作示例,并可能在此基础上开发一些附加功能. 本书以一个介绍性

《OpenCV图像处理》——2.8 小结

2.8 小结 本章涉及并建立了在计算机视觉中应用图像处理方法的基础.对于更深入的计算机视觉应用来说,图像处理通常是第一步,因此,本章包括:基本数据类型.像素级访问.常用的图像操作.算术运算.数据持久化和直方图.您还可以参考由Packt出版社出版的<OpenCV Essentials>中第3章对这一广泛主题的基本方面进行的更深入探讨,例如,图像增强.通过滤波进行图像修复和几何校正等.下一章将介绍图像处理方法更深入的内容,通过平滑.锐化.图像分辨率分析.形态学和几何变换.修复和去噪等方法,对图像进

Illustrator像素级完美绘制经验技巧分享

给各位Illustrator软件的使用者们来详细的解析分享一下像素级完美绘制的经验技巧. 教程分享: 如我们所知,在CS5(版本号)之前,用AI这款矢量工具做到像素级的精确是非常困难的.为什么呢?因为不同于PS图像处理软件,一款基于栅格的图像处理软件(即直接面向的是像素处理).而AI是一款矢量软件,(即面向的是点.直线.和曲线这类基于数字信息绘制的图形).早期,AI还不能很完美的处理像素.现在AI不断推陈出新,随着最新版CC的发布,AI已经有了许多改进.现在Adobe Illustrator已经

Illustrator像素级完美绘制技巧教程一览

给各位Illustrator软件的使用者们来详细的解析分享一下像素级完美绘制技巧的教程. 教程分享: 自从Adobe Illustrator推出以来,人们感兴趣的是,它是否能完成过渡并且改变创作像素级作品的方式.正如我们所知,在CS5(版本号)之前,用AI这款矢量工具做到像素级的精确是非常困难的.为什么呢?因为不同于PS图像处理软件,一款基于栅格的图像处理软件(即直接面向的是像素处理).而AI是一款矢量软件,(即面向的是点.直线.和曲线这类基于数字信息绘制的图形).早期,AI还不能很完美的处理像

linux-配置samba服务器时,要求把/home目录共享给局域网中的其他用户,设定为共享级访问

问题描述 配置samba服务器时,要求把/home目录共享给局域网中的其他用户,设定为共享级访问 我的配置是这样的. 1.vi /etc/samba/smb.conf 在[global]部分做如下修改 1) workgroup = home2000 2) security=share 文件末尾添加如下内容:[public] comment=RED HAT smb servers path=/home writable = yes browseable =yes read only = yes c

利用IBM Java Toolbox for i实现针对数据库文件的记录级访问

对于从事 IBM i 平台的数据库应用开发而言,如何使用 IBM Java Toolbox for i http://www.aliyun.com/zixun/aggregation/11872.html">访问数据库文件是非常重要的技能.本文的目标是系统性介绍如何利用 IBM Java Toolbox for i 实现针对数据库文件的记录级访问(RLA 或 Record Level Access),并指出 JDBC 与 RLA 两种技术的区别. 从文件系统的角度,IBM i 提供了对 P

手游怪圈:像素级抄袭和现象级火爆背后

文/顾晓波"谁跟我说中国有创新我跟谁急--"热门游戏<疯狂猜图>的原型<icomania>在微博上 曝光后,有一位用户在转发中附上了这句话,随后这条微博获得了70多次转发,也再度引发了关于国内手游"抄袭"风气的讨论.事实上这个话题由来已久,老老实实做游戏的手机厂商也因不愿得罪同行而保持缄默,而更多的开发者对此习以为常,甚至并不屑于谈论这个话题,甚至有开发者回应称"你以为EA.Gameloft没有抄吗?"或"能抄的

OPENCV图像处理(二):模糊

模糊是基本的图像处理方法. 在介绍这两种方法之前先来介绍两种常见的噪声: 椒盐噪声 椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声.椒盐噪声分为两种即胡椒噪声和盐噪声,胡椒噪声是黑色的,属于低灰度噪声,盐噪声是白色的,属于高灰度噪声,一般两种噪声同时出现,呈现在图像上就是黑白杂点.去除椒盐噪声最常用的算法是中值滤波. 高斯噪声 高斯噪声是一种随机噪声,其幅度的统计规律服从高斯分布(正态分布),去高斯噪声最常用的算法是高斯滤波. 而这些噪声出现在图片上某一点时都是比较突兀的

OPENCV图像处理提高(二):模糊

模糊是基本的图像处理方法. 在介绍这两种方法之前先来介绍两种常见的噪声: 椒盐噪声 椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声.椒盐噪声分为两种即胡椒噪声和盐噪声,胡椒噪声是黑色的,属于低灰度噪声,盐噪声是白色的,属于高灰度噪声,一般两种噪声同时出现,呈现在图像上就是黑白杂点.去除椒盐噪声最常用的算法是中值滤波. 高斯噪声 高斯噪声是一种随机噪声,其幅度的统计规律服从高斯分布(正态分布),去高斯噪声最常用的算法是高斯滤波. 而这些噪声出现在图片上某一点时都是比较突兀的