اطلاعیه

Collapse
No announcement yet.

segmentation

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

    #16
    پاسخ : segmentation

    سریعترین و آسون ترین روش برای اینکارو MATLAB از قبل پیش بینی کرده
    برای اطلاعات بیشتر به
    Image Processing Toolbox
    قسمت
    Performing Distinct Block Operations
    مراجعه کنید
    object tracking: http://www.eca.ir/forum2/index.php?topic=88447.msg547644#msg547644

    any help or opinion on robot mapping will be welcome

    دیدگاه


      #17
      پاسخ : segmentation

      سلام

      بازم سوال;

      توی کاری که میخواستم انجام بدم بعد از تبدیل تصویر به بلوک های 8*8 از هر بلوک dct2 گرفتم وبعد ایندکس دومین ماکزیمم هر بلوک رو پیدا کردم.
      اما الان یه سوال ساده دارم و اون اینه که چطور این ایندکس هارو تبدیل به یه ماتریس کنم؟

      ممنون
      فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

      دیدگاه


        #18
        پاسخ : segmentation

        لطفا برنامه ای که تا بحال انجام دادین اینجا قرار بدین
        object tracking: http://www.eca.ir/forum2/index.php?topic=88447.msg547644#msg547644

        any help or opinion on robot mapping will be welcome

        دیدگاه


          #19
          پاسخ : segmentation

          نوشته اصلی توسط DIP
          لطفا برنامه ای که تا بحال انجام دادین اینجا قرار بدین
          البته مطمین نیستم که کارم 100% درست باشه اما من یه ایندکس خاص رو به عنوان train در اوردم و تست کردم درست جواب داد.

          بخش اولش هم همون برنامه خودتون هست.


          clc
          img=imread('C:\Users\fereshteh\Desktop\cheeta h.bmp' %read image
          img=im2double(img); % greyscale
          [R C]=size(img); % Image Size
          r=floor(R/8);c=floor(C/8); % Cell Size
          cel=cell(r,c);
          for i=1:r % Put Block in Cell
          for j=1:c
          for n=1:r*c
          cel{i,j}=imcrop(img,[(j-1)*8+1 (i-1)*8+1 8 8]);
          a_n=cel{i,j};
          a_n=dct2(a_n);
          a_n=abs(a_n);
          b_n=sort(a_n,2);
          b_n=a_n(:,9); %extraction maximum column
          b_n=b_n'; %transpose b_n
          b_n=sort(b_n,2);
          b_n=b_n(:,8); %extraction 2nd maximum
          a_n=find(a_n==b_n); %find index of 2nd maximum
          end
          end
          end

          فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

          دیدگاه


            #20
            پاسخ : segmentation

            اما حالا نمیدونم چطوری اینارو به صورت یه ماتریس در بیارم؟
            فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

            دیدگاه


              #21
              پاسخ : segmentation

              این قسمت ها چیکار می کنه؟

              کد PHP:
              a_n=abs(a_n);
                 
              b_n=sort(a_n,2);
                 
              b_n=a_n(:,9);  %extraction maximum column
                 b_n
              =b_n';   %transpose b_n
                 
              b_n=sort(b_n,2);
                 
              b_n=b_n(:,8);  %extraction 2nd maximum
                 a_n
              =find(a_n==b_n); %find index of 2nd maximum 
              object tracking: http://www.eca.ir/forum2/index.php?topic=88447.msg547644#msg547644

              any help or opinion on robot mapping will be welcome

              دیدگاه


                #22
                پاسخ : segmentation

                پست رو ویرایش نکردم چون شاید روال بهم میخورد...فقط خواستم بگم اون برنامه به لحاظ کد صحیح بود اما توی الگوریتمش یه مورد کوچیک مهم فراموش شده بود که دقیقا همون مورد باعث شکست شد و اون نکته مهم فرکانس های یکسان بود!
                دارم به راه های دیگه واسه این فکر میکنم.

                اون قسمت هایی هم گذاشته بودین واسه پیدا کردن دومین ماکزیمم بوده.
                فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

                دیدگاه


                  #23
                  پاسخ : segmentation

                  سلام

                  راستش یکی از دوستانم اخیرا دستوری رو به من پیشنهاد کرده که قدرت بالایی داره و تا حدود زیادی مشکلی که پرسیدم و هم سوالی که در این تاپیک پرسیده شده است رو جواب میده

                  دستور im2col پس از تقسیم تصویر به بلوکهای m*n ایی آنها را در ستون ماتریس حاصل ( B) ذخیره میکنه. این دستور دو حالت مختلف داره :
                  B=im2col(A,[m n],’sliding’
                  B=im2col(A,[m n],’distinct’
                  در دستورات بالا A همان تصویر اصلی، [m n] سایز بلوک ها (مثلا 8 در 8) و B ماتریسی است که هر ستون آن مربوط به یک بلوک بوده و در واقع پیکسل های هر بلوک در این ستون ریخته شده است. مثلا برای بلوک های 8 در 8، هر ستون B شامل 64 پیکسل است. دستور اول برای بلوکهای بدون همپوشانی و دستور دوم همپوشانی دارند.

                  خوبی این دستور اول این است که از zero padding برای ماتریس هایی که اندازه آنها با بلوک مطابقت ندارد، استفاده میکند. در این صورت برخلاف دستوراتی که در اینجا امده هیچ بلوکی دور انداخته نمیشود

                  برای روش شدن مطلب به مثال زیر دقت کنید

                  A=[1 2 3;4 5 6;7 8 9];
                  im2col(A,[1 2],'distinct&#039
                  1 4 7 3 6 9
                  2 5 8 0 0 0

                  نتیجه رو باید از راست به چپ بخونید. البته بهتره دستور رو تو خود مطلب چندین بار امتحان کنید تا ترتیب انتخاب بلوکها براتون روشن بشه.
                  هر کدوم از دوستان که از این دستور استفاده کردند، برای شادی روح مادر دوستم فاتحه ای بخونند

                  دیدگاه


                    #24
                    پاسخ : segmentation

                    سلام به همه دوستان
                    من دانشجوی کارشناسی هستم که یه پروژه در مورد پردازش تصویر دارم
                    ببخشید اگه سوالاتم سادس ولی چه کنیم که تازه کار پردازش تصویرو شروع کردم و اطلاعاتم زیاد نیست
                    دوستای خوبم من تو چارت برنامه ای که دارم نوشته segmented image حالا تو این مرحله کد برنامه رو باید از رو عنوان خود برنامه بنویسم یا خود segmented image کدخاصی هست؟
                    به عنوان مثال در برنامه edge-based segmentation image، اگه بخوام کد segmented image را بنویسم باید در واقع کد edge segmentation را بنویسم؟؟
                    و سوال دومم اینکه من اگه تصویر ورودی رو پردازش کنم و بخوام این تصویر پردازش شده رو به تصویر اولیه(ورودی) اعمال کنم باید چه دستوری رو بنویسم؟؟
                    و سوال سومم:binary gradient image با gradient image از نظر کد با هم متفاوت هستن؟تو کد چه فرقی با هم دارن؟

                    از دوستانی که سوال منو می خونن ممنونم و از دوستانی هم که جواب میدن خیلی ممنونم

                    دیدگاه


                      #25
                      پاسخ : segmentation

                      نوشته اصلی توسط omid23
                      سلام به همه دوستان
                      من دانشجوی کارشناسی هستم که یه پروژه در مورد پردازش تصویر دارم
                      ببخشید اگه سوالاتم سادس ولی چه کنیم که تازه کار پردازش تصویرو شروع کردم و اطلاعاتم زیاد نیست
                      دوستای خوبم من تو چارت برنامه ای که دارم نوشته segmented image حالا تو این مرحله کد برنامه رو باید از رو عنوان خود برنامه بنویسم یا خود segmented image کدخاصی هست؟
                      به عنوان مثال در برنامه edge-based segmentation image، اگه بخوام کد segmented image را بنویسم باید در واقع کد edge segmentation را بنویسم؟؟
                      و سوال دومم اینکه من اگه تصویر ورودی رو پردازش کنم و بخوام این تصویر پردازش شده رو به تصویر اولیه(ورودی) اعمال کنم باید چه دستوری رو بنویسم؟؟
                      و سوال سومم:binary gradient image با gradient image از نظر کد با هم متفاوت هستن؟تو کد چه فرقی با هم دارن؟
                      سلام

                      1.اره باید کد بنویسید و اینطور نیست که یه تابع خاص باشه و از اون استفاده کنید.

                      2.منظورتون چیه؟شما تصویر رو پردازش کردین منظورتون از اعمال تصویر پردازش شده به تصویر اولیه چیه؟

                      3.در این مورد اطلاعاتی ندارم.

                      فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

                      دیدگاه


                        #26
                        پاسخ : پاسخ : segmentation

                        [quote author=(فرشته) link=topic=56436.msg343237#msg343237 date=1333142188]
                        سلام

                        1.اره باید کد بنویسید و اینطور نیست که یه تابع خاص باشه و از اون استفاده کنید.

                        2.منظورتون چیه؟شما تصویر رو پردازش کردین منظورتون از اعمال تصویر پردازش شده به تصویر اولیه چیه؟

                        3.در این مورد اطلاعاتی ندارم.

                        با سلام
                        ممنون از اینکه سوالمو خوندین و جواب دادین

                        فرشته خانوم در مورد سوال اول دقیقا باید مثل همون مثالی که گفتم کد بنویسم؟
                        2-مثلا تو کدهای segmentation یه سری تغییراتی رو به تصویر ورودی اعمال می کنن و میشه گفت بخش هایی از اطلاعاتی که لازم بوده استخراج میشه بعد برای اینکه بتونن این اطلاعاتو روی همون تصویر اولیه نشون داده باشن این خروجی رو به تصویر اولیه اعمال می کنن. و مشخصا تو کدنویسیش می نویسن
                        segmented image superimposed on orginal image

                        دیدگاه


                          #27
                          پاسخ : segmentation

                          در مورد سوال اول اره...ببینید مثلا برای سگمنت کردن روشهای مختلفی وجود داره که یکیش همین edge هست.کدها بر اساس همین عنوان روش عوض میشه.

                          سوال 2 رو اگر با یه مثال بگید شاید بهتر بشه جواب داد.
                          فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

                          دیدگاه


                            #28
                            پاسخ : segmentation

                            با سلام
                            مثلا همین edge segmentatiion رو اول رو تصویر ورودی اعمال می کنن و با این کار یه تصویر خروجی ازش بدست میاد بعد تو مرحله پایانی میان همین تصویر خروجی حاصل از edge segmentation رو روی همون تصویر اولیه اعمال می کنن
                            امیدوارم تونسته باشم منظورمو گفته باشم

                            دیدگاه


                              #29
                              پاسخ : segmentation

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

                              ببخشید شما خودتون اینجا واسه جواب گرفتن اینو مطرح کردین اما کاربرد این مورد واسم جالب شده!!چون اینجوری مواجه نشده بودم باهاش.
                              فقر ، شب را " بی غذا " سر کردن نیست ................ فقر ، روز را " بی اندیشه" سر کردن است

                              دیدگاه


                                #30
                                پاسخ : segmentation

                                [quote author=(فرشته) link=topic=56436.msg343500#msg343500 date=1333222801]
                                والا من متوجه نمیشم چرا باید تصویر خروجی رو روی تصویر اصلی اعمال کرد!! خب از اول هم تغییرات رو همون تصویر اصلی اعمال شده...با این کار قراره چه نتیجه ای گرفته بشه؟؟

                                ببخشید شما خودتون اینجا واسه جواب گرفتن اینو مطرح کردین اما کاربرد این مورد واسم جالب شده!!چون اینجوری مواجه نشده بودم باهاش.
                                [/quote

                                راستش فرشته خانوم تا جایی که من متوجه شدم دلیل این کار برای اینه که تو اعمال edge segmentation به تصویر ورودی خروجی که به ازش بدست میاد ممکنه بعضی از اطلاعات تصویر ورودی رو حذف و یا تغییر داده باشه به خاطر همین این خروجی رو دوباره به تصویر اولیه یا ورودی اصلی اعمال می کنن تا جز اجزایی که حذف شده دوباره اصلاح بشه.
                                البته این نتیجه گیری رو از روی اطلاعاتی که بدست آوردم می گم یعنی نمی تونم بگم دلیلش فقط همین مورد هست یا نه

                                دیدگاه

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