Detecção de Bordas Canny do OpenCV em C ++

Eu quero extrair as bordas da mão, mas recebo o seguinte resultado. Eu tentei ajustar o limite baixo e alto, mas ainda não consigo obter a saída desejada. Eu incluí abaixo o código e sua saída. Oque parece ser o problema?

Isto é oimagem de saída gerado pelo código abaixo.

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

questionAnswers(1)

yourAnswerToTheQuestion