看代码学习opencv
来源:互联网 发布:淘宝商家互刷群 编辑:程序博客网 时间:2024/06/06 02:19
void CirclesGridClusterFinder::hierarchicalClustering(const vector<Point2f> points, const Size &patternSz, vector<Point2f> &patternPoints)
//对点层次聚类排序
{
int j,n = (int)points.size();
size_t pn = static_cast<size_t>(parternSz.area());
patternPoints.clear();
if(pn >= point.size())
{
if(pn == points.size(0)
patternPoints = points;
return;
}
Mat dists(n, n, CV_32FC!, Scalar(0));
Mat distsMask(dists.size(), CV_8UC!, Scalar(0));
for(int i=0; i<n; i++)
{
for(j = i+1; j<n; j++)
{
dists.at<float>(i,j) = (float)norm(points[i] - points[j]);
distsMask.at<uchar>(i,j) = 255;
distsMask.at<uchar>(j,i) = 255;
dists.at<float>(i,j) = dists.at<float>(i,j);
}
}
vector<std::list<size_t>>clusters(points.size());
for (size_t i=0; i<poimts.size(); i++)
{
cluster[i].push_back(i);
}
int patternClusterIdx = 0;
while (clusters[patternClusterIdx].size() <pn)
{
Point minLoc;
minMaxLoc(dists, 0, 0, &minLoc, 0, distMask);
int minIdx = std::min(minLoc.x, misLoc.y);
int maxIdx = std::max(minLoc.x, misLoc.y);
distsMask.row(maxIdx).setTo(0);
distsMask.col(maxIdx).setTo(0);
Mat tmpRow = dists.row(minIdx);
Mat tmpCol = dists.col(minIdx);
cv::min(dists.row(minLoc.x), dists.row(minLoc.y), tmpRow);
tmpRow.copyTo(tmpCol);
clusters[minIdx].splice(clusters[minIdx].end(), clusters[maxIdx]);
patternClusterIdx = minIdx;
}
if(clusters[patternClusterIdx].size() != static_cast<size_t>(patternSz.area()))
return;
patternPoints.reserve(clusters[patternClusterIdx].size());
for(std::list<size_t>::iterator it = cluater[patternCluaterIdx].begin(); it != clusters[patternClusterIdx].end(); it++)
{
petternPoints.push_back(points[*it]);
}
}
- 看代码学习opencv
- 学习OpenCV,看这些!
- 看了《学习OpenCV》,发现例3-9代码有问题
- OpenCV粒子滤波代码学习
- opencv学习测试代码笔记
- OpenCV粒子滤波代码学习
- 学习OpenCV第二章代码
- SqlLite的案例学习-----看代码学习
- 学习看别人代码的方法
- LDA学习必看文章和代码
- opencv学习-kalman 滤波 演示与opencv代码
- opencv学习-粒子滤波 演示与opencv代码
- iOS - OpenCV 代码的一点学习记录
- opencv学习--项目代码的书写流程
- 看代码
- 看代码
- 看代码
- 看代码
- svn清除客户端保存的用户名和密码
- Windows Phone 8 SDK on a Virtual Machine with Working Emulator
- github_1
- c语言的试卷,必须每天都要做点
- 2014校招-阿里巴巴面试-厦门站
- 看代码学习opencv
- oracle Constraint(二)
- Apache2配置FastCGI(mod-fcgid)
- Delphi中取得程序版本号
- 兼容浏览器图片上传本地预览功能js脚本
- command --help 与 help command
- c# winform 给PictureBox控件添上滚动条,使用滚动条来查看图片
- 极光推送C#代码
- 2013-C++第7周项目参考解答链接集