خطا در فراخوانی لبه یاب canny - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خطا در فراخوانی لبه یاب canny

0 امتیاز

سلام.من تو کدی که در پایین قرار دادم توی خط که Canny فراخوانی شده با خطا مواجه میشم.

 cv::Mat dis = Mat(width, height, CV_32FC1, dises);
    cv::Mat dst_Gaussian(width, height, CV_32FC1);
    Mat dst_Canny;
    dst_Gaussian= dis.clone();
    dst_Canny.create( dis.size(), dis.type() );

//  

blur( dis, dis, Size(3,3));

    GaussianBlur( dis, dst_Gaussian, Size( 3, 3 ), 2, 2);
    imshow("Gaus",dst_Gaussian);

    //findContours(dst, contours, hierarchy, int mode, int method, Point offset=Point());
    Canny( dst_Gaussian, dst_Gaussian, 100, 100*3, 3 );
     dst_Canny = Scalar::all(0);

    dis.copyTo( dst_Canny, dst_Gaussian);
    imshow("canny", dst_Canny);

 

همه چیز درسته ولی علت خطا را متوجه نمی شم.

دوستان لطفاً بررسی کنید.

ممنون

سوال شده دی 7, 1392  بوسیله ی saleh110 (امتیاز 70)   2 11 16
دوباره تگ گذاری شد بهمن 22, 1392 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
ورودی تابع Canny بایستی تصویر 8بیت باشه CV_8UC1 در صورتیکه شما CV_32FC1 تعریف کردید و پارامترهای threshold1 و threshold2 بایستی بین 0 تا 255 باشه در واقع این 2 پارامترآستانه ای برای شدت نور هستند.
پاسخ داده شده دی 8, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد دی 21, 1392 بوسیله ی BlueBlade
...