当前位置: 首页 > 知识库问答 >
问题:

以下哪一个质心是图像中物体的质心?

子车鸿才
2023-03-14

我想从二值图像中得到圆形状的质心,但输出给出了不止一个质心。我使用的是opencv web教程文档中关于图像时刻和修改的代码。供参考,我使用的是C++API OpenCV。

输出结果是:

我预计,文本输出可能会从3个轮廓中给出3个质心,但实际上是7个轮廓(轮廓[0],...,轮廓[6])。

contours.erase()

共有1个答案

宗鸿博
2023-03-14

我会做的是:

>

  • 查找所有轮廓(并将其存储在点的向量中)(CV::FindContours)
  • 应用自定义粒子过滤器。也就是一个函数,它会告诉你一个轮廓是否有效。要做到这一点,您需要根据形态特征做出决定,例如

    • 循环
    • 凸度
    • 纵横比

    之后,您可以计算出新矢量中每个元素的重心(并显示它)。这有意义吗?

    最后,我不会对大型向量使用contours.erase()。我认为迭代擦除对CPU来说是一项相当繁重的工作。相反,我会将好的轮廓存储在一个新的预先分配的向量中。然而,这只是一个性能细节。

  •  类似资料:
    • 如何计算由像素组成的簇的质心? 我用它们的红色、蓝色和绿色值来表示像素(例如,)。 形心应该是集群中实例的平均值,但是如何计算像素之间的平均值呢? [我试图计算每种颜色的平均值(质心[“红色”]=总和\红色\像素\值/像素数等),但结果不正确] 如果有帮助的话,我用的是欧几里德距离函数。

    • 问题内容: 如何以高质量保存Python图形? 也就是说,当我继续放大保存在PDF文件中的对象时,为什么没有任何模糊? 另外,保存它的最佳方式是什么? ,?还是其他?我做不到,因为有一个隐藏的数字发生,导致编译混乱。 问题答案: 如果您正在使用Matplotlib并试图在LaTeX文档中获得良好数据,请另存为EPS。具体来说,请在运行命令以绘制图像后尝试以下操作: 我发现EPS文件效果最好,而参数

    • 问题内容: 我正在通过以下代码拍摄照片并将其保存到SD卡中,但是它产生的照片质量如此之低,即使100%的质量也是如此。也许bitmap.compress不是正确的方法(或根本不是位图?!) 这是我的代码: 问题答案: 请调用以下功能从相机捕获图像。 您可以在selectedImageUri变量中获取图像Uri。(图像存储在SD卡中)

    • 本文解释了比特币 PoW(Proof-of-Work, 工作量证明) 的关键要素,尤其对 PoW 来说不可或缺的一个特性,同时也表明关于 PoW 经常谈到的一些其他特性其实是次要作用,比如安全性,这些次要效应有用,但是非必要。 要想理解本文,首先要懂得在区块链中,PoW 是如何工作的一些有趣的属性,这些属性并不那么直观,甚至可以说相当反直觉,比如参与者如何在从来没有相互交流的情况下,共同地求解一个

    • 不知道大家用哪个? 我配置了这三个,但是速度还是很感人 非云主机

    • 问题是我需要一个简化版本的算法,可以计算一个二值图像中几个白色轮廓的质心。例如,如果只有一个白色轮廓,则使用公式计算轮廓中心的坐标Xc和Yc: 其中M是强度m_i的和,m_i是像素强度值,x_i和y_i是像素在图像上的位置,n是像素总数。 有没有人可以建议一些类似的方法来处理几个轮廓,或者如何在计算其中一个轮廓时忽略其他的轮廓,使用相同的公式?