opencv imgproc模块(四)

  • 图像的矩

在opencv中,如何计算一个图像的矩呢?一般由moments、contourArea、arcLength这三个函数配合求取:
使用moments计算图像所有的矩
使用contourArea来计算轮廓面积
使用arcLength来计算轮廓或曲线长度

//计算一个形状的面积


    vector<Point> contour;
    contour.push_back(Point2f(0,0));
    contour.push_back(Point2f(10,10));
    contour.push_back(Point2f(0,10));
    //contour.push_back(Point2f(10,0));
 // 三角形的面积。。。。记得,points的顺序要构成凸边形才能计算出面积,否则结果为0
    double area = contourArea(contour,false);

这里写图片描述
这是Moments的openCV定义,可以看出,通过moments方法计算出来的Moments结构,包含了不低于3阶的矩特征值。

直方图对比:
对于直方图来说,一个可不或缺的工具是用某些具体的标准来比较两个直方图的相似度。要对两个直方图进行比较,需要选择一个衡量直方图相似度的对比标准。在OpenCV中,使用的是compareHist()函数进行对比。
函数原型如下:
double compareHist(InputArray H1,InputArray H2,int method);
method是需要选择的距离标准,有如下取值:
这里写图片描述
这里写图片描述

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值