اطلاعیه

Collapse
No announcement yet.

پروژه پیاده سازیه الگوریتم

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پروژه پیاده سازیه الگوریتم

    سلام. پروژه ای دارم با موضوع : روش های پیاده سازی الگوریتم های پردازش تصویر لطفا کمکم کنید, پیاده سازیه الگوریتم یعنی چی؟

    #2
    پاسخ : پروژه

    سلام

    هر الگوریتم یکسری استپ داره برای رسیدن به نتیجه...حالا پیاده سازی الگوریتم یعنی پیاده سازی اون استپ ها.
    فقر ، شب را " بي غذا " سر كردن نيست ................ فقر ، روز را " بي انديشه" سر كردن است

    دیدگاه


      #3
      پاسخ : پروژه پیاده سازیه الگوریتم

      آخه موضوع پروژه ام روش های پیاده سازی الگوریتم های پردازش تصویره.........من سرچ کردم یه اطلاعاتی در مورد الگوریتم پردازش پیدا کردم منتها الان با روش هاش مشکل دارم........مگه چندتا روش داره؟؟پروژه ام شبیه سازی با مطلبه دیگه روش هاش چیه؟؟؟؟

      دیدگاه


        #4
        پاسخ : پروژه پیاده سازیه الگوریتم

        معمولاً وقتی منظور شبیه سازی باشه میگن شبیه سازی، پیاده سازی فکر کنم بیشتر مربوط به کارای سخت افزاری باشه.
        متلب بیشتر الگوریتم های معروف پردازش تصویر رو تو تولباکس Image Processing داره، مثلاً برای Histogram Equalization با فقط یک دستور میشه این کارو انجام داد.
        بیشتر موضوع پروژه رو باز کن، دقیقاً میخوای چه کار کنی؟
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

        دیدگاه


          #5
          پاسخ : پروژه پیاده سازیه الگوریتم

          چند روز پیش رفتم پیش استاد گفت : منظورم تشخیص لبه است بعد با کمک یکی از فامیلامون که ارشد الکترونیکه روش هاشو بدست آوردم ولی اونم کدهای مربوط به هر روش رو بلد نبود؟؟؟ آآآآآآآآآآآآآآآآآآآآآفرین کمکم کنید.............

          دیدگاه


            #6
            پاسخ : پروژه پیاده سازیه الگوریتم

            تشخیص لبه که آسونه
            دستور متلب edge
            مقایسه روشهای تشخیص لبه:
            http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=we b&cd=14&ved=0CI0BEBYwDQ&url=http%3A%2F %2Fwww.m-hikari.com%2Fams%2Fams-password-2008%2Fams-password29-32-2008%2FnadernejadAMS29-32-2008.pdf&ei=Sv-UT9i5Lcbs8QPNrIDtCg&usg=AFQjCNFIeXMEC6DI0F6gk8 aAOL1nONjH6A&sig2=yDn7KQU5Yz1nO8ut1bYdOQ
            برای کد متلب هم یه سرچ تو نت بزن.
            یه نمونه (Canny):
            http://robotics.eecs.berkeley.edu/~sastry/ee20/cacode.html
            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
            لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
            با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
            اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
            يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

            دیدگاه


              #7
              پاسخ : پروژه پیاده سازیه الگوریتم

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

              دیدگاه


                #8
                پاسخ : پروژه پیاده سازیه الگوریتم

                این پروژه ای که گذاشته بودید رو دیدم بدردم نمیخوره چون من کدهاشو میخوام همه میگن سرچ کنی پیدا میشه ولی پیدا نمیشه اگه اینقدر راحته پیدا کنید.

                دیدگاه


                  #9
                  پاسخ : پروژه پیاده سازیه الگوریتم

                  این برنامه جواب هم داده:
                  %%%%%%%%%%%%% The main.m file %%%%%%%%%%%%%%%
                  function edge_example
                  clear;clc;close all
                  % The algorithm parameters:
                  % 1. Parameters of edge detecting filters:
                  % X-axis direction filter:
                  Nx1=10;Sigmax1=1;Nx2=10;Sigmax2=1;Theta1=pi/2;
                  % Y-axis direction filter:
                  Ny1=10;Sigmay1=1;Ny2=10;Sigmay2=1;Theta2=0;
                  % 2. The thresholding parameter alfa:
                  alfa=0.1;

                  % Get the initial image lena.gif
                  % [x,map]=gifread('lena.gif'
                  % w=ind2gray(x,map);
                  w = imread('lena.jpg'
                  % w = rgb2gray(x);
                  figure(1);colormap(gray);
                  subplot(3,2,1);
                  % imagesc(w,200);
                  imagesc(w)
                  % imshow(w)
                  title('Image: lena.gif'

                  % X-axis direction edge detection
                  subplot(3,2,2);
                  filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1);
                  Ix= conv2(w,filterx,'same'
                  imagesc(Ix);
                  title('Ix'

                  % Y-axis direction edge detection
                  subplot(3,2,3)
                  filtery=d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2);
                  Iy=conv2(w,filtery,'same'
                  imagesc(Iy);
                  title('Iy'

                  % Norm of the gradient (Combining the X and Y directional derivatives)
                  subplot(3,2,4);
                  NVI=sqrt(Ix.*Ix+Iy.*Iy);
                  imagesc(NVI);
                  title('Norm of Gradient'

                  % Thresholding
                  I_max=max(max(NVI));
                  I_min=min(min(NVI));
                  level=alfa*(I_max-I_min)+I_min;
                  subplot(3,2,5);
                  Ibw=max(NVI,level.*ones(size(NVI)));
                  imagesc(Ibw);
                  title('After Thresholding'

                  % Thinning (Using interpolation to find the pixels where the norms of
                  % gradient are local maximum.)
                  subplot(3,2,6);
                  [n,m]=size(Ibw);
                  for i=2:n-1,
                  for j=2:m-1,
                  if Ibw(i,j) > level,
                  X=[-1,0,+1;-1,0,+1;-1,0,+1];
                  Y=[-1,-1,-1;0,0,0;+1,+1,+1];
                  Z=[Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1);
                  Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1);
                  Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)];
                  XI=[Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)];
                  YI=[Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)];
                  ZI=interp2(X,Y,Z,XI,YI);
                  if Ibw(i,j) >= ZI(1) & Ibw(i,j) >= ZI(2)
                  I_temp(i,j)=I_max;
                  else
                  I_temp(i,j)=I_min;
                  end
                  else
                  I_temp(i,j)=I_min;
                  end
                  end
                  end
                  imagesc(I_temp);
                  title('After Thinning'
                  colormap(gray);
                  %%%%%%%%%%%%%% End of the main.m file %%%%%%%%%%%%%%%


                  %%%%%%% The functions used in the main.m file %%%%%%%
                  % Function "d2dgauss.m":
                  % This function returns a 2D edge detector (first order derivative
                  % of 2D Gaussian function) with size n1*n2; theta is the angle that
                  % the detector rotated counter clockwise; and sigma1 and sigma2 are the
                  % standard deviation of the gaussian functions.
                  function h = d2dgauss(n1,sigma1,n2,sigma2,theta)
                  r=[cos(theta) -sin(theta);
                  sin(theta) cos(theta)];
                  for i = 1 : n2
                  for j = 1 : n1
                  u = r * [j-(n1+1)/2 i-(n2+1)/2]';
                  h(i,j) = gauss(u(1),sigma1)*dgauss(u(2),sigma2);
                  end
                  end
                  h = h / sqrt(sum(sum(abs(h).*abs(h))));

                  % Function "gauss.m":
                  function y = gauss(x,std)
                  y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi));

                  % Function "dgauss.m"(first order derivative of gauss function):
                  function y = dgauss(x,std)
                  y = -x * gauss(x,std) / std^2;
                  %%%%%%%%%%%%%% end of the functions %%%%%%%%%%%%%
                  این هم نتیجه:
                  لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                  لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                  با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                  اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                  يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                  دیدگاه


                    #10
                    پاسخ : پروژه پیاده سازیه الگوریتم

                    من واقعا از شما ممنونم ، میشه بگید این برنامه کدوم روشه؟؟ استاد پروژه ام برنامه ها رو جدا میخواد! هر کدومم کامل، باید سه تا از پنج روشه کنی ، پرویت،روبرت،لاپلاسین،سوبل رو برای استاد اجرا کنم، دوست عزیز شما با جواب دادنتون من رو ترغیب کردید که پروو بشم وچندتا سوال دیگه هم بپرسم!!!! :redface: این دو برنامه به چه معناهستن؟ grad_dir و grad_mag

                    دیدگاه


                      #11
                      پاسخ : پروژه پیاده سازیه الگوریتم

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

                      دیدگاه


                        #12
                        پاسخ : پروژه پیاده سازیه الگوریتم

                        این روش canny هست برنامه اش همون برنامه لینکه که گذاشتم خودم ننوشتم فقط اصلاحش کردم که اجرا بشه.
                        grad_dir و grad_mag کجاست؟
                        احتمالاً منظور گرادیان باشه، dir همون direction یا جهت و mag همون magnitude یا اندازه است.
                        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                        دیدگاه


                          #13
                          پاسخ : پروژه پیاده سازیه الگوریتم

                          A=imread('sample.jpg'
                          2-B=rgb2gray(A);

                          3-C=double(B);

                          4-for i=1:size(C,1)-2
                          5-for j=1:size(C,2)-2
                          6- %Sobel mask for x-direction:
                          7- Gx=((2*C(i+2,j+1)+C(i+2,j)+C(i+2,j+2))-(2*C(i,j+1)+C(i,j)+C(i,j+2)));
                          8- %Sobel mask for y-direction:
                          9- Gy=((2*C(i+1,j+2)+C(i,j+2)+C(i+2,j+2))-(2*C(i+1,j)+C(i,j)+C(i+2,j)));

                          10- %The gradient of the image
                          11- %B(i,j)=abs(Gx)+abs(Gy);
                          12- B(i,j)=sqrt(Gx.^2+Gy.^2);

                          13- end
                          14-end

                          15-figure,imshow(B); title('Sobel gradient'

                          16-%Define a threshold value
                          17-Thresh=100;
                          18-B=max(B,Thresh);
                          19-B(B==round(Thresh))=0;

                          20-B=uint8(B);
                          21-figure, imshow(~B);title('Edge detected Image'

                          این روشه سوبله، خط 18 یعنی چی؟؟

                          دیدگاه


                            #14
                            پاسخ : پروژه پیاده سازیه الگوریتم

                            خط 4 یعنی چی؟؟سایز یعنی چی؟؟ بعد اون منهای 2 چه معنی ای میده؟؟

                            دیدگاه


                              #15
                              پاسخ : پروژه پیاده سازیه الگوریتم

                              اپراتور سوبل به شکل زیر است:

                              پس اولا خط 7 و 9 جای x و y باید عوض بشه.
                              حلقه ای که از خط 4 شروع میشه در واقع همین پنجره 3در3 رو روی کل تصویر حرکت میده و مقدار نقطه مرکزی پنجره رو محاسبه میکنه. چون سایز پنجره 3در3 هست باید 2- بشه که از حد ماتریس بیرون نزنه. سایز یعنی اندازه دیگه، اندازه ماتریس: تعداد سطر و ستون.
                              خطوط 11 و 12 فقط یکیشون باید باشه، فرقی نمیکنه کدوم.
                              خطوط 18 و 19 در واقع مقادیر زیر مقدار آستانه رو صفر میکنن و آستانه گیری میکنن اگه به جای این دو خط این طوری مینوشت بهتر بود:
                              B(B<=Tresh)=0;
                              لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                              لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                              با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                              اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                              يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                              دیدگاه

                              لطفا صبر کنید...
                              X