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

سریع ترین الگوریتم لبه یابی در Opencv

0 امتیاز
از بین روش های مختلف لبه یابی کدام یک از همه سریع تر است .روی کوبی برد باید مستطیل مکان یابی کنم البته تا حدی الگوریتم لبه یابی که پیشنهاد می دید دقت هم داشته باشه.
سوال شده اردیبهشت 28, 1396  بوسیله ی RaHmAtI (امتیاز 76)   1 17 21

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

کلا لبه یاب ها  دو دسته  هستند : بدون آموزش و با آموزش تقسیم .

بدون آموزش : این روش ها سربع از روش های با آموزش هستند که دو تا از معروف ترین آنها به شرح زیر است.

بی شک سریع ترین روش سوبل هستش که از همه روش های لبه یلبی سریع تره.خوب مشکل بزرگش دقت لبه هاست.یعنی از یک ابجکت مشخص تو شرایط نوری  مختلف لبه های یکسان ندارید

روش بعدی Canny هستش که این روش از سوبل دقیق تره .این روش هم تو شرایط نوری مختلف خوب عمل نمی کنه علاوه بر اینها به 2 حد آستانه هم وابسته هستید که باید دستی تنظیم شه.البته از این روش هم می تونید برای تنظیم خودکار دو حد استانه استفاده کنید.

 

با آموزش : این روش ها کند تر هستند ولی دقت لبه های استخراج شده خیلی بالاتر از روش های بالاست.

از جمله مشکلات این روش ها زمان اجرایی و فایل مدل هستش

یکی از روش هایی که تو این دسته سرعتش از روش های دیگر بالاتر روش structured forests است که تو opencv پیاده سازی شده که به صورت زیر می تونید از آن استفاده کنید.

 if ( image.empty() )
        {
            printf("Cannot read image file: %s\n", inFilename.c_str());
            return -1;
        }
    
        image.convertTo(image, cv::DataType<float>::type, 1/255.0);
    
        cv::Mat edges(image.size(), image.type());
    
        cv::Ptr<StructuredEdgeDetection> pDollar =
            createStructuredEdgeDetection(modelFilename);
        pDollar->detectEdges(image, edges);
    
        if ( outFilename == "" )
        {
            cv::namedWindow("edges", 1);
            cv::imshow("edges", edges);
    
            cv::waitKey(0);
        }
        else
            cv::imwrite(outFilename, 255*edges);

 

پاسخ داده شده خرداد 2, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد خرداد 3, 1396 بوسیله ی RaHmAtI
...