opencv - 使用 C++ opencv 在黑白图像中查找对象的中心点

标签 opencv image-processing point

我有下面的图片。我的目标是找到对象中心点的 x,y 值。我试过 Image moments但我找不到任何 x,y 值。 我该怎么做?

Original image

中心点应该是红点或接近它的东西。

enter image description here

最佳答案

link你发布了,你可以在这里找到图片的中心:

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

您可以像这样找到图像的中心:

#include "opencv2\opencv.hpp"
using namespace cv;

int main()
{
    Mat1b gray = imread("path_to_image", IMREAD_GRAYSCALE);

    Moments mu = moments(gray, true);
    Point center;
    center.x = mu.m10 / mu.m00;
    center.y = mu.m01 / mu.m00;

    Mat3b res;
    cvtColor(gray, res, CV_GRAY2BGR);

    circle(res, center, 2, Scalar(0,0,255));

    imshow("Result", res);
    waitKey();

    return 0;
}

生成的图像是:

Resulting image

关于opencv - 使用 C++ opencv 在黑白图像中查找对象的中心点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280975/

相关文章:

使用 OpenCV、OpenCL、OpenGL 的 android ndk CDT 构建错误

python - 使用 pip install 包含 OpenCV 的额外模块

java - 将虹膜图像与 opencv 进行比较

python - 使用 python 提取二值图像中的连接像素

vector - 样式点向量作为 Openlayers 中的标记?

javascript - 如何在二维中心点周围放置点?

delphi - 如何声明一个常量Tpoint?

opencv - 这个使用OpenCV中GaussianBlur函数的subtract_gaussian_blur函数是做什么的?

python - 如何使用OpenCV和Python在写圆形对象内用白色填充黑色区域?

python - 如何褪色