اطلاعیه

Collapse
No announcement yet.

Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

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

    Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

    سلام به همه. در مورد شماره گذاری آبجکت های درون تصویر (Component labeling) توضیحاتی می خواستم. لطفا اگر الگوریتمی در این زمینه دارید ممنون می شم کمک کنید. :redface:
    برنامه labview هم اگه باشه که چه بهتر

    #2
    پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

    سلام.
    اصول ابتداییش در اینجا گفته شده توی این مقاله

    http://dlc.eca.ir/index.php?act=view&id=80

    ولی کدش به زبان سی هست نه با لبویو.
    امیدوارم موفق باشه.
    موفق باشید.
    شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
    هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
    چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

    دیدگاه


      #3
      پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

      می تونید بگید که کد c را از کجا میشه پیدا کرد

      دیدگاه


        #4
        پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

        سلام
        من این کد رو 4 سال پیش نوشتم تا جایی که خاطرم هست اول اشیا رو شماره گذاری میکنه، بعد مرکزشون رو در میاره بعد هم دایره رو توشون تشخیص میده
        فقط دقت کنید که فایل تصویر باید بیتمپ باشه و به صورت 16 رنگه ذخیره شده باشه رنگ زمینه تصویر هم حتما باید سفید باشه.
        موفق باشید.
        فایل های پیوست شده
        شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
        هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
        چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

        دیدگاه


          #5
          پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

          سلام من میخواستم دور اشیا که توی صحنه تصویر من هستند که مربوط به یک فایل ویدئو هست یک کادر 2*2 رسم کنم چطور میتونم این کارو انجام بدم کد هاشو میخواستم ممنون

          دیدگاه


            #6
            پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

            سلام ......................

            ببینید اگه شما تصویر ثابتی دارید و میخواید یه مربع m*m روی تصویرتون Mask کنید خب میتونید از دادن مختصات استفاده کنید یعنی بگید مثلا از مختصات x تا y در محدوده ی i و k تا z در محدوده ی j ها یه کادر براتون بکشه . اما اگه تصویرتون حرکت داره (Track دارید) اون موقع باید الگوریتمتون رو دینامیک تعریف کنید که نسبت به جابجایی هم حساس باشه . موفق باشید .
            دوستان! مدتی کمتر به سایت میام ..

            دیدگاه


              #7
              پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

              با سلام خدمت
              دوستان عزیز که بدون هیچ توقعی اصلاعات خودشون در اختیار اعضا می گذارند. :smile:
              در ضمن از آقای مهندس نحوی هم باید تشکر کنم به خاطر راهنمایی شون در مورد مطرح کردن سوالم. :smile:
              و اما....
              سوالی که از خدمتتون داشتم اینکه چگونه می تونم از یک عکس در مطلب مشتق بگیرم.
              با سپاس فراوان...
              تو این دنیا فقط غیر ممکن،غیر ممکن است...

              دیدگاه


                #8
                پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

                سلام ..............

                احتمالا منظورتون از مشتق برای یه تصویر همون لاپلاس برای Edge Detection هست بله؟

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

                اما برای (کلا..) عملیات محاسباتی شما باید اول تصویرتون رو به ماتریس تبدیل کنید و بعد هم قالب فرمت تصویر رو از Uint8 به آرایه های double تغییر وضعیت بدید . دستورس هم که توی متلب برای این کار وجود داره double(..) هست . حالا اگه شما میخواین از تصویرتون لاپلاس بگیرین باید فرمول اون رو برای درایه های ماتریستون پیاده سازی کنید . همون فرمول ماسکی که یه درایه رو مرکزی میگیره و چهار درایه ی اطراف اون رو بنابه فرمول جمع و تفریق میکنه (خواستید برنامشو میذارم براتون ..) .

                با پیاده سازی این الگوریتم به طور کامل (با فرض باینری بودن تصویرتون ..) میتونید لبه های تصویرتون رو به دست بیارید . اما اگه تصویرتون در فضای رنگی gray cale یا فضاهای رنگی دیگه ای غیر از باینری باشه اونوقت دیگه لاپلاس گرفتن از تصویر نمیتونه لبه هارو به طور کامل مشخص کنه ؛ حتی با تغییر اون ضریب پشت ماتریس .. موفق باشید ..
                دوستان! مدتی کمتر به سایت میام ..

                دیدگاه


                  #9
                  پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

                  سوالی که از خدمتتون داشتم اینکه چگونه می تونم از یک عکس در مطلب مشتق بگیرم.
                  سلام
                  بسته به این که میخوای در جهت x مشتق بگیری یا در جهت y ، ماتریس دو عضوی ( 1 و 1- ) را توی عکس کانوال (دستور conv2) کن. مقدمات کار rgb2gray و imdoble و اینها را هم که ایشالله بلدی؟
                  از چارلی چاپلین پرسیدند خوشبخنی چیست ؟
                  گفت : فاصله این بد بختی تا بد بختی دیگر !

                  دیدگاه


                    #10
                    پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

                    نوشته اصلی توسط adeljoo
                    سلام من میخواستم دور اشیا که توی صحنه تصویر من هستند که مربوط به یک فایل ویدئو هست یک کادر 2*2 رسم کنم چطور میتونم این کارو انجام بدم کد هاشو میخواستم ممنون
                    سلام ......................

                    براتون یه برنامه ی نمونه میذارم .. امیدوارم براتون مفید باشه ..



                    این برنامه یه تصویر رو میگیره و یه کادر به اون مختصاتی که بهش دادیم (ده تا از مرکز عقب تر .. در راستای i و j ..) و طول و پهنای 30 و 40 برامون میکشه .. مثلا اگه تصویر زیر رو بهش بدیم ..



                    تصویر بعدی رو بهمون میده ..



                    موفق باشید ..
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #11
                      پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

                      سلام خدمت دوستان عزیز
                      و یک تشکر مخصوص از جناب مهندس حسام الدین و ابتهی.

                      یک سوال که از خدمتتون داشتم اینه که من تصویر رو به باینری تبدیل می کنم ولی شکلشو فقط می تونم ببینم یعنی نمی تونم از این تصویر باینری شده استفاده کنم .مثلا در لبه برداری که تصویرم باید باینری باشه نمیدونم چه جوری به مطلب بگم که این عکس را که باینری شده از اون استفاده کنه.
                      "من تو لبه برداری هم از دستورsobel استفاده می کنم."
                      من وقتی نتونستم از تصویری که باینری کردم استفاده کنم عکس رو بهtif.* تبدیل کردم و بعد به workspace آوردم ولی عکس رو پیدا نمی کرد.

                      I = imread('vahid.tif' BW = (I,sobel,[],'both'imshow(BW);Figure

                      که یا میگهvahid.tif وجود ندارد و یا Iرا وارد کن.
                      و یک سوال دیگر که از خدمتتون داشتم اینه که کدوم روش از 6 روش موجود برای لبه برداری بهتر است.
                      از کمکتون باز هم ممنونم.
                      تو این دنیا فقط غیر ممکن،غیر ممکن است...

                      دیدگاه


                        #12
                        پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

                        سلام .................

                        ببینید سوالی که فرمودید رو من یک مقدار کلی تر توضیح میدم . شما فرمودید که آیا فرمت تصویر به دستور imread ارتباطی داره یا نه؟ خب ببینید حقیقتش باید بگم که نه .. در واقع فرقی نمیکنه فرمت تصویر شما bmp باشه ، jpg باشه ، tiff باشه ، png باشه یا فرمت های دیگه .. دستور imread باتوجه به پشتیبانی فرمت هایی که در متلب داره، میتونه این فرمت هارو بخونه .. حالا اینکه شما فرمودید که تصویرتون رو نمیشناسه ارتباط پیدا میکنه به اینکه احتمالا destination اون رو درست انتخاب نکردید .. باتوجه به پیغام خطایی که میده احتمالا مشکلتون همینه .. باید مبدا اون رو صحیح تعیین کنید .. برای این کار هم باید از اون مربع کوچیک قسمت بالای workspace استفاده کنید که یه مربع با سه تا نقطه روش .. از اونجا مبداء تصویرتون رو انتخاب کنید ..

                        قسمت دوم سوالتون که مطرح کردید و گفتید که با فرمت tiff نمیتونید از دستور edge استفاده کنید (برای لبه یابی تصاویرتون ..) باید بگم که درسته .. علت هم داره .. علتش اینه که دستور edge توی متلب برای فضای رنگی Gray scale به کار میره در حالیکه شما برای فرمت tiff از اون استفاده کردید .. اما چیکار باید بکنید حالا؟ خب کاری که باید انجام بدید اینه که تصویرتون رو ببرید به فضای رنگی Gray scale .. با چه دستوری این کار رو باید انجام بدید؟ با دستور rgb2gray .. با این دستور فضای رنگی تصویرتون از rgb به Gray scale تغییر پیدا میکنه و شما میتونید از دستور edge استفاده کنید .. دقت کنید که فرمت تصویر تغییر نکرده بلکه فضای رنگی اون عوض شده ..

                        قسمت سوم سولتون مربوط میشد به الگوریتم های دور یابی (Edge detection ..) خب باید خدمتتون عرض کنم که برای این منظور بیشتر از شش الگوریتم وجود داره و از موارد عمومی ترش در متلب مطرح شده و توسط اون پشتیبانی میشه .. مثل canny یا sobel یا roberts ... در واقع جواب سوالتون رو نمیشه به صورت مستقیم داد به این معنا که یه جواب ثابت برای شما وجود داشته باشه ، بلکه با توجه به application تون میتونید الگوریتم مناسب رو انتخاب کنید .. مثلا لینک زیر رو ملاحظه بفرمایید .. برای اون Application خاص بهترین انتخاب الگوریتم GVF بوده و میبینید که چقدر هم خوب جواب داده (نتیجش رو میگم ..)

                        http://www.eca.ir/forum2/index.php?topic=21635.0

                        یا مثلا برای موارد خیلی معمولی تر مثل مواردObject Recognition دوبعدی بسیار معمولی (اشکال مشخص ..) Canny الگوریتمیه که میتونه خیلی به در بخور باشه اما اگه تصویر از نظر Texture کمی تغیییر کنه و پیچیده تر بشه (تلفیق Contrast های رنگی تصویرتون ..) اونموقع همین الگوریتم هم ممکنه دیگه جواب نده و شما مجبور بشید برای حل این مشکل از الگوریتم های دیگه ای استفاده کنید ..

                        راستی برای کاری که میخواستید انجام بدید یه برنامه ی نمونه به همراه نتایج تصاویر میذارم .. امیدوارم بتونه کمکتون کنه .. موفق باشید ..

                        فایل های پیوست شده
                        دوستان! مدتی کمتر به سایت میام ..

                        دیدگاه


                          #13
                          پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

                          سلام.....
                          یک دنیا ممنون مشکلی نبود.

                          آقای مهندس یک مشکل دیگه هم که دارم اینکه من از دستور زیر استفاده کردم به باینری تبدیل کردم ولی تو دستورهای دیگه نمی تونم اینو فراخون کنم(در دستورهتی دیگه نمی تونم ازش استفاده کنم).

                          ببخشید خیلی زحمت می دم. :smile:


                          T=imread('h.jpg'L=(T);

                          [X map] = imread('h.jpg'

                          BW = im2bw(X,map,.5);

                          figure, imshow(X,map), figure, imshow(BW);
                          تو این دنیا فقط غیر ممکن،غیر ممکن است...

                          دیدگاه


                            #14
                            پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول


                            سلام ..............

                            جناب نیکوند یه سوال : دقیقا میخواید چه کار انجام بدید؟ تصویر رو میخواین باینری کنید؟ منظورتون از فراخوانی چیه دقیقا؟ من یک مقدار این قسمت رو متوجه نشدم .. ممکنه کمی بیشتر توضیح بدید .. ممنون و موفق باشید ..
                            دوستان! مدتی کمتر به سایت میام ..

                            دیدگاه


                              #15
                              پاسخ : Frequently Asked Questions -- مـبـاحـث و سـوالات مـتـداول

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

                              واسه اینکه بهتر بتونم سوال خودم رو طرح کنم یک فایل براتون ایمیل می کنم(نتونستم این پایین بذارمش).من تو مطلب خودم خوندم که در دستور لبه برداری، وروری باینری هم میشه.به خاطر همین عکسی رو باینری کردم و حالا می خوام بوسیله دستورedge از همین عکس لبه برداری کنم. به خاطر همین به مشکل بر می خورم.(حالا اگه فایلی رو که ایمیل میکنم باز کنید بهتر متوجه می شید.ممنون)

                              یک سوال دیگه هم که دارم از خدمتتون اینکه حالا وقتی عکسی رو لبه برداری کردیم چه جوری میشه فاصله دو خط رو پر کرد و داخلش رو سفید کنیم.(بهتر بگم، مثلا صورت یک شخصی رو لبه برداری کردیم،حالا من می خوام دور لب پایینی که با دو خط که ابتدا و انتهاش به هم چسیبده شده، داخل این دوخط رو سفید کنم).
                              با نهایت سپاس از توجهی که دارید...


                              فایل های پیوست شده
                              تو این دنیا فقط غیر ممکن،غیر ممکن است...

                              دیدگاه

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