cvSet2D和 cvGet2D 的坐标问题
对于图像中的某一像素点 P(x, y), 在我们正常的坐标系中,x代表其横坐标,y代表其纵坐标,而在opencv的函数 cvGet2D()与cvSet2D() 中,却行不通。cvGet2D() 的函数原型是 : CvScalar cvGet2D (const CvArr * arr, int idx0, int idx1); 函数返回的是一个CvScalar
容器,其参数中也有两个方向的坐标,但跟我们平常习惯的坐标不一样的是,idx0代表是的行,即高度,对应于我们平常坐标系的y, idx1代表的是列,即宽度,对应于我们平常坐标系的x,cvSet2D() 也类似。所以在使用cvSet2D() 与 cvGet2D() 时,千万要注意坐标的顺序。
cvScalar获取像素颜色的问题
用cvScalar获取RGB图像中像素的颜色( cvGet2D(CvArr* img,int idx0,int idx1,CvScalar sa) )获得的颜色 val[0]为blue,val[1]为green,val[2]为red
RGB转GRAY的公式
Y=0.299*R+0.587*G+0.114*B