本文转自http://blog.youkuaiyun.com/hxgqh/article/details/6202001
获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到。
OpenCV中,CvScalar结构为:
typedef struct CvScalar
{
double val[4];
}
CvScalar;
4个double型变量,算法处理时不至于被强制类型转换而降低精度了。
再来看读写函数的定义:
cvGet2D 获得某个点的值, idx0=hight 行值, idx1=width 列值。
CVAPI(CvScalar) cvGet2D( const CvArr* arr, int idx0, int idx1 );
cvSet2D 给某个点赋值。
CVAPI(void) cvSet2D( CvArr* arr, int idx0, int idx1, CvScalar value );
有上可见,cvGet2D的返回类型和cvSet2D中value的类型都是CvScalar,这样定义一个CvScalar变量再调用函数就OK了。
OpenCV中像素点读写例子:
|
|
本文介绍如何利用OpenCV的cvGet2D()和cvSet2D()函数来获取和修改图像中的像素点,包括理解CvScalar结构体的作用及在图像处理中的应用。通过实例代码演示了如何遍历图像矩阵并修改像素值。
2万+

被折叠的 条评论
为什么被折叠?



