cvGet?D与cvSet?D

cvGet?D用于获取数组中指定下标的元素值,cvSet?D用于为数组中指定下标的元素赋予值。

以cvGet2D和cvSet2D为例:

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

void cvSet2D (const CvArr * arr, int idx0, int idx1, CvScalar value);

索引值idx0代表数组元素的行下标,idx1代表数组元素的列下标

与OpenCV中图像坐标系相对应,idx0,idx1表示的是图像上指定高度和宽度值位置处所对应的像素值。

因此,在使用时,需要依照如下的方式进行:

for (int y = 0; y < height; y++) {

for (int x = 0; x < width; x++)

CvScalar cs = cvGet2D(img, y, x);

cvSet2D(img, y, x, cs);

}

你可能感兴趣的:(cvGet?D与cvSet?D)