اطلاعیه

Collapse
No announcement yet.

گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

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

    گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

    سلام .
    بنده میخوام تبدیل فوریه و عکس تبدیل فوریه یک عکس سیاه و سفید را با استفاده از دستور for در متلب ینویسم .در ضمن فرضا عکس (f(x,y وتبدیل فوریه ان (F(u,vنام دارد .چند تا مشکل دارم
    1- تعیین متغیرهای حلقه های تو در تو for
    2-,وقتی تابع تبدیل فوریه (exp(-j2P(ux+vy)/N را می نویستم متلب نسبت به j خطا میگیره .
    با سپاس

    #2
    پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

    سلام.
    1- اگه FFT یک بعدی رو بلدی، FFT دو بعدی همونه به این شکل که از هر سطر(ستون) FFT یک بعدی می گیری و به همون ترتیب کنار هم میذاری.
    2- به جای j- بذار 1i-.
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

    دیدگاه


      #3
      پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

      دوست من
      اینکاری شما گفتیدو انجام دادم ولی باز هم مشکل پا برجاست من سورس برنامه رو میزارم شما یه بررسی کنید شاید مشکل جای دیگه ای باشه .
      در ضمن متن خطای متلب این هست .
      ??? Error using ==> mtimes
      Complex integer arithmetic is not supported.
      سورس برنامه :

      p=imread('m2','jpg'
      f=rgb2gray(p);
      size(f)


      n=20 ;
      for y=1:n

      for u=1:n
      s=0;
      for x=1:n

      s=s+(f(x,y)*exp(-1i*6.28*(u*x)/n));
      end

      F(u,y)=s/n;

      end

      end
      for x=1:n
      for v=1:n
      s=0;
      for y=1:n


      s=s+(F(u,y)*exp(-1i*6.28*(v*y)/n));
      end
      F(u,v)=s/n;

      end

      end



      imshow(p),figure;imshow(F)
      for v=1:n
      for x=1:n
      s=0;
      for u=1:n



      s=s+(F(u,v)*exp(1i*6.28*(u*x)/n));
      end
      f(x,v)=s/n;
      end
      end

      for u=1:n
      for y=1:n
      s=0;
      for v=1:n



      s=s+(f(x,v)*exp(1i*6.28*(v*y)/n));
      end
      f(x,y)=s/n;
      end
      end


      figure;imshow(f)

      دیدگاه


        #4
        پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

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

        دیدگاه


          #5
          پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

          با سلام

          fft2 چرا استفاده نمی کنی؟

          اگه هم حتما باید برنامه بنویسی بنظر من ماتریس exp(i2*pi*f1*f2) رو تشکیل بدی و ضرب ماتریسی کنی سریعتر و راحتره
          http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

          دیدگاه


            #6
            پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

            مشکل خطا از j حل شد ولی موقع تبدیل فوریه عکس خاکستری میشه ! ممکنه مشکل از دستور دابل باشه یا ؟؟؟

            دیدگاه


              #7
              پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

              نوشته اصلی توسط متلب
              با سلام

              fft2 چرا استفاده نمی کنی؟

              اگه هم حتما باید برنامه بنویسی بنظر من ماتریس exp(i2*pi*f1*f2) رو تشکیل بدی و ضرب ماتریسی کنی سریعتر و راحتره
              استاد محدویت ایجاد کرده برای همین نباید از ifft , fft استفاده کنم .

              دیدگاه


                #8
                پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

                نوشته اصلی توسط milad0232
                مشکل خطا از j حل شد ولی موقع تبدیل فوریه عکس خاکستری میشه ! ممکنه مشکل از دستور دابل باشه یا ؟؟؟
                خودت با دستور
                کد PHP:
                f=rgb2gray(p); 

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

                دیدگاه


                  #9
                  پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

                  چون باید عکسم سیاه و سفید باشه از دستور rgb2 gray برای تبدیل عکس رنگی به سیاه و سفید استفاده کردم .
                  دستور خاصی هست غیر از این ویا میشه موقع save کردن بصورت سیاه و سفید دخیرش کنم ؟

                  دیدگاه


                    #10
                    پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

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

                    دیدگاه


                      #11
                      پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

                      سلام
                      الگوریتم تعدیل هستگرام برای عکس گری در مطلب چیه ؟ البته بجر دستورات histeq و ... که از دستورات خود مطلبن در واقع میخوام با برنامه نویسی در مطلب به این نتیجه برسم !
                      ممنون

                      دیدگاه


                        #12
                        پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

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

                        دیدگاه


                          #13
                          پاسخ : گرفتن تبدیل فوریه و معکوس عکس دوبعدی (سیاه وسفید) با حلقه for در متلب

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

                          دیدگاه

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