轮廓距质心计算

findContours(shape_threshold, contours_tmp,
hierarchy_tmp,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_TC89_KCOS, Point(0, 0)
);//输入图像shape_threshold发生了改变
all_edge_num_finfCon=contours_tmp.size();

Mat shape_result=Mat::zeros(threshold_out.size(), CV_8UC3 );
for( int
i = 0; i< contours_tmp.size(); i++ )
drawContours( shape_result,
contours_tmp, i, Scalar(128,255,128), CV_FILLED);//填充

//计算轮廓矩
vector<Moments> mu(contours_tmp.size() );
for( int i =
0; i < contours_tmp.size(); i++ )
mu[i] = moments( contours_tmp[i],
false );

//计算轮廓的质心
vector<Point2f> mc( contours_tmp.size() );
for( int
i = 0; i < contours_tmp.size(); i++ )
{
mc[i] = Point2f(
mu[i].m10/mu[i].m00 , mu[i].m01/mu[i].m00 );
circle( shape_result, mc[i],
4, Scalar(255,255,128), -1, 8, 0 );
}

时间: 2024-12-25 16:24:13

轮廓距质心计算的相关文章

EmgnCv进行轮廓寻找和计算物体凸包

http://blog.csdn.net/qq_22033759/article/details/48029493 一.轮廓寻找 用的是FindContours函数,在CvInvoke中 不过需要用到这个VectorOfVectorOfPoint,来代替c++中的Vector 还有就是FindContours函数中的第三个参数hierarchy,不知道作用是什么,填入的只要是符合IOutputArray类型的都可以运行 代码: using System; using System.Collect

OpenCV轮廓检测,计算物体旋转角度

效果还是有点问题的,希望大家共同探讨一下 // FindRotation-angle.cpp : 定义控制台应用程序的入口点. // // findContours.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include <vector> #include <opencv2/opencv.hpp> #include <opencv2/core/core.h

label_设置行距、字距及计算含有行间距的label高度

// //  ViewController.m //  CNBlogs // //  Created by PXJ on 16/5/27. //  Copyright ? 2016年 PXJ. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super vie

[ css 外边距 margin ] css中margin外边距合并问题讲解及实例演示

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距;合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者 外边距合并外边距合并(叠加)是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆.简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者.当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并.请看下图: CSS 外边距合并实例 1 亲自试一试

三维模型2.5D轮廓提取及遮挡部分的剔除

轮廓提取相对容易,只需在2.5D渲染视角下,导出模型的顶点坐标以及基于视角的消隐后的三角形面,将三角面投影后合并就可得到轮廓,轮廓坐标基于2.5d图的基准坐标换算就得到.提取轮廓的在我另外一篇文章中有试用的插件,基于3dmax2013的. 轮廓遮挡部分的剔除,如果自动完成的话,效率特别低. 要处理一个模型,原则上要对模型可见面上的点沿视线方向引出直线,与相关模型的可见面做相交运算(在目前2.5D的视角下,模型包围盒的最小y值小于待处理模型都要计算),有交点的模型就用该模型的轮廓来裁剪待处理模型的

高速公路坐标高程计算软件3.3版本发布

---恢复内容开始--- 高速公路坐标高程计算软件说明 高速公路坐标高程计算软件是在多年的施工放样工作中总结出来的一个很有效的程序.它是公路.铁路施工放样的好助手,可以帮你完成以前你用很大的精力和时间完成的计算.它能在工作中给予很大的方便,使你能从繁琐的计算工作中解脱出来,你只要按要求将已知的几个数据输入即可,并大大的提高了计算精确性和准确性.操作简便.实用,适合采用坐标法放样,如具有全站仪和测距仪的测量放线工作,快速准确定位. 高速公路坐标高程计算软件可以帮你完成直线.圆曲线.缓和曲线(完全缓

IE6 IE7 IE8(Q) 负边距 (margin) 导致元素溢出 hasLayout 容器时显示异常

标准参考 根据W3C CSS2.1规范第8.3节中的描述,边距属性设置了一个框的边距区的宽度.'margin' 缩写属性设置所有四边的边距,而其它的边距属性( 'margin-top' ,'margin-right' , 'margin-bottom' 及 'margin-left' )只设置它们代表的那一边的边距. 边距属性的取值可以是下面值之一: <length> 指定一个固定的宽度. <percentage> 百分比的计算基于生成的框的包含块的宽度. auto 其表现细节请参

【OpenCV学习笔记】三十、轮廓特征属性及应用(七)—位置关系及轮廓匹配

http://blog.csdn.net/abc8730866/article/details/69219992 轮廓特征属性及应用(七)-位置关系及轮廓匹配 1.计算点与轮廓的距离及位置关系--pointPolygonTest() 2.矩的计算--moments() 3.形状匹配(比较两个形状或轮廓间的相似度)--matchShapes() 先上ppt: 代码:1.计算点到轮廓的距离与位置关系 [cpp] view plain copy ///计算点到轮廓的距离与位置关系 #include "

【CUDA并行编程之八】Cuda实现Kmeans算法

本文主要介绍如何使用CUDA并行计算框架编程实现机器学习中的Kmeans算法,Kmeans算法的详细介绍在这里,本文重点在并行实现的过程. 当然还是简单的回顾一下kmeans算法的串行过程: 伪代码: 创建k个点作为起始质心(经常是随机选择) 当任意一个点的簇分配结果发生改变时 对数据集中的每个数据点 对每个质心 计算质心与数据点之间的距离 将数据点分配到距其最近的簇 对每一个簇,计算簇中所有点的均值并将均值作为质心 我们可以观察到有两个部分可以并行优化: ①line03-04:将每个数据点到多