我想用它的邊形成一個不規則形狀的手,這樣我就可以使用http://opencv.itseez.com/doc/tutorials/imgproc/shapedescriptors/moments/moments.html?highlight=moment#code找到這隻手的質心。 canny功能削減邊緣,因此我無法從中獲得良好的輪廓。 這裏有一個輸出樣本http://imageshack.us/photo/my-images/208/cannywithblur.png/ 和代碼。OpenCV獲取連接的邊緣
#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);
}
我想得到一個封閉的輪廓,只有一個輪廓。我怎樣才能做到這一點?