Voglio estrarre i bordi della mano ma ottengo il seguente risultato. Ho provato a regolare la soglia bassa e alta ma non riesco ancora a ottenere l'output desiderato. Ho incluso sotto il codice e la sua uscita. Quello che sembra essere il problema?Canny Edge Detection di OpenCV in C++
Questo è il output image generato dal codice di seguito.
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main(){
cv::Mat image= cv::imread("open_1a.jpg");
cv::Mat contours;
cv::Mat gray_image;
cvtColor(image, gray_image, CV_RGB2GRAY);
cv::Canny(image,contours,10,350);
cv::namedWindow("Image");
cv::imshow("Image",image);
cv::namedWindow("Gray");
cv::imshow("Gray",gray_image);
cv::namedWindow("Canny");
cv::imshow("Canny",contours);
cv::waitKey(0);
}
vi ringrazio molto! leggerò di più sull'algoritmo astuto. –