Opencv重要函数

利用cvGet2D()和cvSet2D()对像素点进行处理

CvScalar是opencv中的一种结构体数据类型,类定义为:

1 typedef struct CvScalar
2 {
3     double val[4];
4 }CvScalar;

功能:对于灰度图,存储像素的灰度值;对于多通道图像,存储各通道分量的灰度值
说明:该结构体可以是一个可以存储四个double类型元素的数组,通常,只会用到其中的前三个,val[0],val[1],val[2]的含义分别是彩色照片的三个通道,R,G,B通道。R是红色分量,G是绿色分量,B是蓝色分量,a是alpha。

对于图像中的某一像素点 P(x, y), 在我们正常的坐标系中,x代表其横坐标,y代表其纵坐标,而在opencv的函数 cvGet2D()与cvSet2D() 中,却和我们常见的直角坐标系略有不同。

cvGet2D

功能: cvGet2D():访问图像中某一坐标为(x, y)的像素点的值

   CvScalar  cvGet2D (const CvArr * arr, int idx0, int idx1);

  函数返回的是一个CvScalar 容器,其参数中也有两个方向的坐标,但跟我们平常习惯的坐标不一样的是,idx0代表是的行,即高度,对应于我们平常坐标系的y, idx1代表的是列,即宽度,对应于我们平常坐标系的x,cvSet2D() 也类似。所以在使用cvSet2D() 与 cvGet2D() 时,千万要注意坐标的顺序。

cvSet2D

功能: cvSet2D():设置图像中某一坐标为(x, y)的像素点的值

猜你喜欢

转载自www.cnblogs.com/guoben/p/12903941.html