sigmaX و sigmaY در GaussianBlur و aperture size در canny - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

sigmaX و sigmaY در GaussianBlur و aperture size در canny

+2 امتیاز

سلام
 

C++: void GaussianBlur(InputArray src, OutputArray dst,
 Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT )¶

 

ksize – Gaussian kernel size. ksize.width and ksize.height can differ but they both must be positive and odd. Or, they can be zero’s and then they are computed from sigma* . 
sigmaX – Gaussian kernel standard deviation in X direction. 
sigmaY – Gaussian kernel standard deviation in Y direction;

 

این دو تا  x,y رو میشه بگین چیه؟

و در cannuy این دو تا چیه؟

 

apertureSize – aperture size for the Sobel() operator. L2gradient – a flag, 
indicating whether a more accurate L_2 norm =\sqrt{(dI/dx)^2 + (dI/dy)^2} should be used to calculate the image gradient magnitude ( L2gradient=true ), 
or whether the default L_1 norm =|dI/dx|+|dI/dy| is enough ( L2gradient=false ).

 

سوال شده دی 6, 1393  بوسیله ی محدثه (امتیاز 121)   9 28 42
ویرایش شده دی 8, 1393 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز
کرنل گوسین در حالت یک بعدی همانند کلاه مکزیکی می مونه اندازه خود این کلاه ارتباط مستقیم با اندازه انجراف معیار داره هر چقدر انحراف معیار کوچک تر باشه اندازه کلاه کوچک و هرچقدر بیشتر باشه این کلاه بزرگتر خواهد بود.کرنل گوسین در یک ناحیه مستطیلی محاسبه می گردد که این ناحیه توسط Size مشخص می شود.در همه کاربرد ها نیاز نداریم که اندازه کرنل هم اندازه ناحیه باشد. اگر در کتابخانه OpenCV انحراف معیار را صفر بدید اندازه انحراف معیار از روی اندازه ناحیه مشخص شده تعیین می شود.به صورت زیر:
 
sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8 

ضرایب گوسین هم به صورت زیر محاسبه میشه:

gaussianblur, canny, opencv, c++, پردازش تصویر

 

در مورد  سوال دوم شما apture یعنی همان کرنل و aptureSize یعنی size کرنل در واقع توی چون canny از مشتق استفاده می کنه زمانیکه شما مشتق می گیرد نیاز دارید به مشخص کردن پنجره مشتق که میشه همون aptureSize

در واقع پارامتر محاسبه magnitude که الگوریتم canny از آن استفاده می کنه شما می تونید شدت را توسط نرم L2 محاسبه کنید که دقیق تر و دارای بار محاسباتی بیشتره یا اینکه از نرم L1 استفاده کنید که بار محاسباتی کمتری داره.

 

پاسخ داده شده دی 8, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده دی 30, 1393 بوسیله ی haniye sarbazi
سلام مرسی
میشه بگین منبع این پاسخ کجاست که بیشتر مطالعه کنم.ممنون میشم
در مورد مباحث الگوریتم و فرمولاسیون می تونید به کتاب گنزالس و در مورد توضیحات عملکرد توابع OpenCV می تونید به manual خود کتابخانه مراجعه کنید.
...