gpt4 book ai didi

c++ - OpenCV 获取连接的边

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:07 25 4
gpt4 key购买 nike

我想用它的边缘形成一个不规则形状的手,这样我就可以使用 http://opencv.itseez.com/doc/tutorials/imgproc/shapedescriptors/moments/moments.html?highlight=moment#code 找到这只手的质心。 .精明的功能会切割边缘,因此我无法从中获得良好的轮廓。这是输出示例 http://imageshack.us/photo/my-images/208/cannywithblur.png/和代码。

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace cv;
using namespace std;

int main(){

cv::Mat image= cv::imread("open_1a.jpg");
cv::Mat contours_mat;
cv::Mat gray_image;

blur( image, image, Size(3,3) );

cv::Canny(image,
contours_mat,
40,
120);
cv::namedWindow("Image");
cv::imshow("Image",image);
cv::namedWindow("Canny");
cv::imshow("Canny",contours_mat);
cv::waitKey(0);
}

我想得到一个封闭形状的轮廓,只有一个轮廓。我该怎么做?

最佳答案

您可以尝试应用二值图像的形态闭合,它应该连接具有小于结构元素大小的间隙的边缘。

Corresponding function in the documentation

Tutorial on morphological operations

关于c++ - OpenCV 获取连接的边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12508049/

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