opencv识别特定形状_使用OpenCV寻找平面图形的质心

代码​github.com

中学时,我们学习了几何中的各种形状。比较容易找到圆形、正方形、三角形、椭圆形等标准形状的圆心。

但是当要找到任意形状的质心时,方法就不那么简单了。

当你在计算机视觉中工作时,寻找质心的问题也很重要——除了,你要处理的是像素而不是原子!在这篇文章中,我们将首先讨论如何找到一个任意形状的blob的中心,然后再讨论多个blob的情况。

What is a blob?

blob是图像中一组相互连接的像素,它们具有一些共同的属性(例如,灰度值)。在这篇文章中,我们的目标是使用c++中的OpenCV找到binary blob的中心。如果我们感兴趣的形状不是binary的,我们必须先将其binary。

形状的质心是什么?

形状的质心是形状中所有点的算术平均值(即平均值)。假设一个形状由n个不同的点组成,x1…x_n,则形心由

在图像处理和计算机视觉的背景下,每个形状都是由像素构成的,而形心则是构成形状的所有像素的加权平均值。

Image Moments

我们可以在OpenCV中使用矩来找到blob的中心。但首先,我们应该知道图像时刻到底是什么。图像矩是图像像素强度的一种特殊的加权平均值,它可以帮助我们发现图像的一些特定性质,如半径、面积、质心等。为了找到图像的质心,我们通常把它转换成二进制格式,然后找到它的中心。

质心由公式给出:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值