کشاورزی ماشینی

مهندسی مکانیک بیوسیستم

مهندسی مکانیک بیوسیستم

امیدی ارجنکی
دکتری مهندسی مکانیک بیوسیستم

در این وبلاگ آموخته هایم را نشر می دهم.
آموزش و یاد دادن از زکات علم است.پیامبر خوبی ها حضرت محمد صلوا تالله علیه و آله فرمودند حکایت کسی که علم آموزد و از آن سخن نکند چون کسی است که گنجی نهد و از آن خرج نکند.
این روزها که دانش مهندسی ماشین ها و مکانیزاسیون کشاورزی غریب و محجور افتاده است، آموزش و بیان فایده ها و سودهای استفاده از اتوماسیون در کشاورزی شاید راهی برای تغییر نگرش بر این رشته باشد.
فارغ التحصیلان، استادان و دانشجویان رشته مهندسی مکانیک ماشین های کشاورزی بهترین متخصصان برای ارتباط علم نوین مهندسی با کشاورزی هستند. چون در این رشته انوع تخصص ها آموزش داده می شود. برق، کشاورزی، باغبانی، دامپروری، کامپیوتر، تجهیزات و ابزار اندازه گیری، علوم نوین مثل شبکه های عصبی، بینایی ماشین، انرژی های نوین که همه و همه از ملزمات توسعه کشاورزی نوین هستند.
استفاده از علم نوین در کشاورزی صد در صد باعث تولید غذای بیشتر، رفع وابستگی، تولید غذای با کیفیت تر، ارزانی محصولات و بازارپسندی و سود بیشتر می شود.
امیدوارم بتوانم گامی را برای این مهم بردارم.
از نظرات دوستان و هم رشته ای هایم در این وبلاگ استقبال خواهم کرد.
در آخر هم:
کارتان را برای خدا نکنید؛ برای خدا کار کنید!
تفاوتش فقط همین اندازه است که ممکن است حسین (علیه السلام) در کربلا باشد و من در حال کسب علم برای رضایت خدا ...!
شهید سید مرتضی آوینی

آخرین نظرات

تحلیل برخال (فراکتال) تصاویر

جمعه, ۲۹ تیر ۱۳۹۷، ۰۳:۰۷ ب.ظ

مقدمه ای بر فرکتالها

هندسه فرکتالی اولین بار توسط آقای پروفسور مندلبروت (Benoit Mandelbrot) در 1975 ارائه شد، این تئوری که به دلیل ناتوانی هندسه اقلیدسی در محاسبه و توصیف اجسام فرکتالی بیان شده است و بخوبی می تواند این اجسام را توصیف کند؛ فرکتالها (در فارسی: برخال) دارای ساختارهایی هستند که خود را در مقیاس کوچکتر تکرار می کنند این یکی از ویژگی های مهم فرکتال ها می باشد. بطور کلی تعریف فرکتال به شرح زیر است:

هر شیی که دارای سه ویژگی زیر باشد فرکتال می باشد

1- دارای ساختاری خودمتشابه باشد، یعنی قسمتهایی از تصویر همانند بخش های بزرگتری از تصویر باشد مانند گل کلم

2- بصورت تکراری قابل تولید باشد یعنی با تکرار بتوان آن شی را بازتولید کرد

3- بُعد آن شی اعشاری باشد (برای درک بهتر باید بدانیم خط دارای بعد یک است، صفحه بعد دو دارد و اشیاء یا حجم بعد سه دارند)

به ویژگی اول Self-Similarity ویژگی دوم Iterative Formation و ویژگی سوم Fractional Dimension می گوییم. 

تشابه:

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



محاسبه بُعد فرکتالی

روش های زیادی (بیش از 6 روش) برای محاسبه بعد فرکتالی موجود می باشد که ساده ترین آنها روش Box Counting (شمارش جعبه) می باشد که بشرح زیر می باشد.

تصویر شیی را در نظر بگیرید و آن تصویر را چنان مشبک فرض کنید که اندازه هر سلول برابر s (واحد) باشد، سپس سلول هایی را که شی یا بخشی از شی در آن قرار دارد را بشمارید تا مثلا عدد x1 بدست آید، سپس در گام دوم همین کار را مجدد تکرار کنید بنحویکه مقدار s را تغییر داده اید (مثلا دوبرابر شود) پس از حداقل 3 مرتبه، آنچه حاصل می شود شمارش باکس هایی است که با اندازه های متفاوت محاسبه شده اند.

فرض کردیم با سه مقیاس s1, s2, s3 کار شمارش جعبه های متاثر از شی را شمردیم و سه مقدار x1, x2, x3 را بدست آوردیم سپس مقدار log x و log s را برای هر سه مقیاس محاسبه میکنیم و در دستگاه متناظر رسم می کنیم، شیب خط گذرنده از نزدیکترین فاصله ممکن از این سه نقطه برابر بعد فرکتالی جسم موجود در آن تصویر می باشد. در این باره ویکیپدیا را ببینید.

در جزئیات پیاده سازی توجه کنید که معمولا شی را از پس زمینه در تصویر جدا می کنیم و سپس بُعد فرکتالی آن را محاسبه می کنیم با این حال می توان با یک حدآستانه بسادگی مفهومی مشابه (ولی نه چندان صحیح!) را به اجرا درآورد.

قطعه کد زیر یک الگوریتم مقدماتی و بهینه نشده برای محاسبه بُعد فرکتالی تصاویر می باشد، توجه شود بدلیل آنکه قصد نداشتیم به بحث تشخیص و جداسازی اشیاء وارد شویم از حد آستانه 128 در تصاویر دیجیتال استفاده کرده ایم.


clear all;
clc;
 
InPic=imread('C:\test.jpg');
[MM,NN,ZZ] = size(InPic);
if(ZZ>1)
  pic=uint8(rgb2gray(InPic));
else
  pic=uint8(InPic);
end;
%========================================================
% Preprocessing: Binarized input image
%========================================================
for i=1:MM-40
for j=1:NN-40
if(pic(i+20,j+20)<128)
          imgBinary(i,j)=0;
end;
if(pic(i+20,j+20)>=128)
          imgBinary(i,j)=255;
end;
end;
end;
%========================================================
% Computing fractal dimension with 5 scales
%========================================================
imgBinary=mat2gray(imgBinary);
imshow(imgBinary); 
[M,N]=size(imgBinary);
for k=1:5   % scale
  Sz=2*k;
  sum=0;
for i=1:Sz:M-Sz
for j=1:Sz:N-Sz
          flag=0;
          mask((1:Sz),(1:Sz))=imgBinary((1:Sz)+i-1,(1:Sz)+j-1);
for p=1:Sz
for q=1:Sz
if(mask(p,q)==0)                    
                      flag=flag+1;
end;
end;
end;
if(flag>=Sz)
              sum=sum+1;
end;
end;
end;
  w(k,1)=Sz;
  w(k,2)=sum;
  x(k,1)=log10(1/Sz);
  y(k,1)=log10(sum);
end;
 
m = robustfit(x,y) ;
%figure,plot(x,y,'o');
%figure,plot(x,y,'-');
result=m(2,1);
disp(result);

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی