OpenCVs Canny Edge-Erkennung in C ++

Ich möchte die Kanten der Hand extrahieren, erhalte jedoch das folgende Ergebnis. Ich habe versucht, den unteren und oberen Schwellenwert anzupassen, kann aber immer noch nicht die gewünschte Ausgabe erzielen. Ich habe unten den Code und seine Ausgabe aufgenommen. Was scheint das Problem zu sein?

Dies ist dasAusgabebild generiert durch den Code unten.

#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);
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage