【OpenCV】访问图像中每个像素的值
来源:互联网 发布:淘宝装修的图片尺寸 编辑:程序博客网 时间:2024/05/27 00:47
转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7557063
!!此篇是基于IplImage* (C接口或者说2.1之前版本的接口,新的Mat的访问方式请参考博文:
《访问Mat图像中每个像素的值》)
IplImage是OpenCV中CxCore部分基础的数据结构,用来表示图像,其中Ipl是Intel Image Processing Library的简写。以下是IplImage的结构分析(来自OpenCV中文网站:http://www.opencv.org.cn/index.php/Cxcore%E5%9F%BA%E7%A1%80%E7%BB%93%E6%9E%84#IplImage)
直接访问:
对我们来说比较重要的两个元素是:char *imageData以及widthStep。imageData存放图像像素数据,而widStep类似CvMat中的step,表示以字节为单位的行数据长度。
一个m*n的单通道字节型图像,其imageData排列如下:
如果我们要遍历图像中的元素,只需:
这种直接访问的方法速度快,但容易出错,我们可以通过定义指针来访问。即:
而多通道(三通道)字节图像中,imageData排列如下:
其中(Bi,Bj)(Gi,Gj)(Ri,Rj)表示图像(i,j)处BGR分量的值。使用指针的遍历方法如下:
*如果要修改某像素值,则直接赋值。
使用cvGet2D()函数访问:
cvGet*D系列函数可以用来返回特定位置的数组元素(一般使用cvGet2D),原型如下:
因此,单通道图像像素访问方式如下:
多通道字节型/浮点型图像:
如果是修改元素的值,可用cvSet*D(一般是cvSet2D)函数:
0 0
- 【OpenCV】访问图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值
- 【OpenCV】访问图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 【OpenCV】访问Mat图像中每个像素的值
- 简介TCP/IP各层主要协议
- 详细介绍 Hibernate 泛型 DAO 及其使用方法
- [BZOJ2325][ZJOI2011][树链剖分][线段树]道馆之战
- HDU2067 小兔的棋盘
- int与Integer的区别
- 【OpenCV】访问图像中每个像素的值
- Leetcode 143. Reorder List(链表重新排序)
- dede二次开发--------常用标签总结1
- leetcode解题之122# Best Time to Buy and Sell Stock II
- HFUTOJ problem 1357实现总结
- java 中不支持多继承的原因
- GCC之C 语言编译过程
- 计算几何模板
- vb.net 教程 5-4 颜色