gpt4 book ai didi

c++ - 查找从轮廓到点 opencv C++ 的距离

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:40 25 4
gpt4 key购买 nike

我会创建一个矩阵,在列[i]中具有从固定点(轮廓的质心(mc(i)))到轮廓[i]的点的距离。

这是我找到轮廓和质量中心的代码:

findContours(binMat, contours, cv::RETR_EXTERNAL, CHAIN_APPROX_SIMPLE,Point(0,0));

/// Get the moments
vector<Moments> mu(contours.size());
for (int i = 0; i < contours.size(); i++)
{
mu[i] = moments(contours[i], false);
}

/// Get the mass centers
vector<Point2f> mc(contours.size());
for (int i = 0; i < contours.size(); i++)
{
mc[i] = Point2d(mu[i].m10 / mu[i].m00, mu[i].m01 / mu[i].m00);
}

此代码运行良好。

接下来,我尝试了很多方法来找到距离,但遇到了很多问题,因为我是使用 C++ 编程并使用 OpenCV 的新手。

最佳答案

for (int i = 0; i < contours.size(); i++)
{
mc[i] = Point2d(mu[i].m10 / mu[i].m00, mu[i].m01 / mu[i].m00);

KeyPoint k;
k.pt = mc[i];

float d = (k.pt.x,k.pt.y, centerX,centerY);
}

计算两点间距离的函数

float distance(int x1, int y1, int x2, int y2)
{

float d = sqrt(pow((x1 - x2), 2) + pow((y1 - y2), 2));

return d;
}

关于c++ - 查找从轮廓到点 opencv C++ 的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43517069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com