NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3763 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 33

موضوع: پردازش تصویر روی مارس بورد

  1. #1
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    Thumbs up پردازش تصویر روی مارس بورد

    همونطور که میدونید پردازش تصویر نیاز به این ۳ بخش داره: دوربین-بورد پردازنده- نرم افزار.
    از نظر بورد پردازنده مارس بورد توان پردازشی نسبتا مناسبی داره (در حد beagleboard).
    دوربین هم معمولا وبکم استفاده میشه.
    اما مهمترین بخش نرم افزار هست. سیستم عامل بخشی از نرم افزاره که روی بقیه قسمتها هم تاثیر میزاره. سیستم عامل اندروید از یک طرف سیستم عامل دیفالت هست ومیشه برای پردازش تصویر ازش استفاده کرد(opencv جواب میده) ولی محدودیت زیاد داره. درایور خیلی وسایل جانبی رو نداره و تصویر رو نمیتونه به صورت realtime (در فریم ریت بالا) پردازش کنه.
    بهترین سیستم عامل linux هست. خوشبختانه برای مارس بورد (کوبی) توزیع های مختلف لینوکس وجود داره. opencv هم که تو دو روش مستقیم و crosscompile قابل استفاده هست.
    فقط یکی دوتا نکته کوچیک هست که برای راه اندازه دوربین باید بهش توجه کنید:

    من هم Lubuntu و هم Linaro رو امتحان کردم. جفتشون درایور وبکم های uvc (مناسبترین نوع وبکم برای لینوکس!) رو ندارند. خوشبختانه سورس کرنل در دسترس هست و میشه ماژولهای مورد نیاز رو براش کامپایل کرد. البته نیازی به کامپایل نیست؛ قبلا این کار انجام شده ؛ کافیه دانلودش کنید (uvcvideo.ko) .
    حالا کافیه این ماژول (uvcvideo.ko) رو با دستور زیر به کرنل اضافه کنید:
    insmod uvcvideo.ko
    حالا می تونید از وبکمهای uvc استفاده کنید. من وبکم microsoft vx800 رو تو محیط لینارو استفاده کردم.

  2. کاربران : 14 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    ماژولی که من برای نسخه لینارو استفاده کردم رو ضمیمه کردم. ولی احتمالا برای لوبونتو هم قابل استفاده هست.
    فايل هاي پيوست شده فايل هاي پيوست شده

  5. کاربران : 9 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  6. #3
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلام

    ممنون فرزاد جان. پست واقعا مفیدید بود. تشکر تنها بی فایده بود.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  7. تشکرها از این نوشته :


  8. #4
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    دستت درد نکنه مهندس

    شما که دست به خریدت خوبه قیمت این وب کم چنده ؟؟؟

    اگه مدل های بهتر از این هم هست معرفی کنید .. لطفا .
    *** اللّهم عجّل لولیک الفرج ***

  9. #5
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    این رو حدود ۶۵ تومن خریدم. از نظر کیفیت وبکم خوبی هست، وبکم با کیفیت بالاتر (full HD) هم وجود داره ولی قیمتشون نجومیه! یک وبکم a4tech هم قبلا از یکی قرض گرفته بودم که اون هم کار می کرد. مدلش یادم نیست، فقط یادمه کروی بود!
    بقیه وبکم های uvc هم باید کار بکنه. اگه روی جعبه وبکم نوشته باشه linux رو ساپورت میکنه، به احتمال ۹۹درصد uvc هست.

  10. کاربران : 3 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  11. #6
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    الان دارم opencv رو روی خود بورد کامپایل میکنم. ۱ گیگ سورس کده! فعلا ۴ ساعت گذشته و ۹۰ درصد رفته
    اگه مشکلی پیش نیاد تا چند ساعت آینده برنامه پردازش تصویر رو میتونم تست کنم.
    ویرایش توسط farzadsw : 04-05-2013 در ساعت 13:54

  12. کاربران : 5 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  13. #7
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    نقل قول نوشته اصلی توسط farzadsw نمایش پست ها
    الان دارم opencv رو روی خود بورد کامپایل میکنم. ۱ گیگ سورس کده! فعلا ۴ ساعت گذشته و ۹۰ درصد رفته
    اگه مشکلی پیش نیاد تا چند ساعت آینده برنامه پردازش تصویر رو میتونم تست کنم.
    من داشتم با هزار بدبختی سعی میکردم OV7670 رو با مارس راه بندازم اصلا به فکرم نرسیده بود میتونم ی وبکم یو اس بی استفاده کنم
    ممنون مهندس حتما رو بردم تستش میکنم

  14. #8
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    سلام
    مهندس، پردازنده مارس بورد، fpu داره؟

  15. #9
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    نقل قول نوشته اصلی توسط ali_h نمایش پست ها
    سلام
    مهندس، پردازنده مارس بورد، fpu داره؟
    بله به صورت سخت افزاری داره. به همین دلیل اگر قصد کراس کامپایل دارید، بهتره از نسخه gnueabihf استفاده کنید که hf آخرش برای همون fpu سخت افزاری هست.

  16. تشکرها از این نوشته :


  17. #10
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    نقل قول نوشته اصلی توسط beroz نمایش پست ها
    من داشتم با هزار بدبختی سعی میکردم OV7670 رو با مارس راه بندازم اصلا به فکرم نرسیده بود میتونم ی وبکم یو اس بی استفاده کنم
    ممنون مهندس حتما رو بردم تستش میکنم
    چند سری مثال opencv رو با دوربین تست کردم. سرعت پردازش تعریفی نداره!
    یعنی بسته به کاربرد شما داره ولی در کل برای خود من رضایت بخش نبود.
    به عنوان مثال برنامه optical flow که نه خیلی سبک و نه خیلی سنگین هست رو اجرا کردم. در حالت رزولیشن 640در 480، فریم ریت حدود 7-8 فریم بود و تاخیر زیادی هم تو تصویر دیده میشه (حدود 1 ثانیه!).
    رزولیشن رو تا 160 در 120 کم کردم، فریم ریت بالا رفت (حدود 25-30) ولی باز هم تاخیر مشهود بود (حدود 300-400 میلی ثانیه).
    خلاصه اینکه برای پردازشهای realtime با opencv چنگی به دل نمی زنه. ولی یکسری مواقع هست که تاخیر زیاد اهمیت نداره، برای اون جور کارها خوبه.

    اما علت چیه!؟
    در حین همین مثالهایی که تست می کردم، دیدم بعضی مواقع تنها تصویر نمایش داده می شد و پردازش خاصی رو انجام نمی داد ولی cpu حدود 70 درصد لود شده بود و مشکلات فریم ریت پایین هم وجود داشت!
    اما نکته جالب این بود که با نرم افزار guvcview تصویر رو حتی تو حالت 640x480 با 30 فریم نمایش میداد. تو این حالت cpu فقط 15 درصد لود میشد!
    با یکم بررسی بیشتر مشخص شد که وبکم من دو نوع خروجی YUV و RGB رو ساپورت میکنه، که اولی فشرده نشده و دومی فشرده شده هست. opencv هر تصویری که از دوربین میگیره، اول به RGB تبدیل میکنه و بعد استفاده میکنه ولی اون برنامه guvcview هردوی اینها رو ساپورت میکنه. وقتی فرمت تصویر رو در guvcview از YUV به RGB تغییر دادم دیدم که فریم ریت به شدت پایین اومد (حدود 15) و cpu هم حدود 60 درصد لود شد!
    البته تو حالت RGB هم باز guvcview از opencv سریعتر تصویر رو نمایش میده ولی مشکل اصلی همینه که opencv از فرمت فشرده نشده YUV نمیتونه مستقیم استفاده کنه و همین عمل باز کردن RGB بیشتر cpu رو میگیره.

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

    من سعی میکنم این مشکل فرمت RGB رو دور بزنم، اگر شما هم راه حلی پیدا کردید بگید. اینطوری سرعت پردازش حدود 2-3 برابر بیشتر میشه!

  18. کاربران : 7 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  19. #11
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    مهندس مطمئنم که openCV 1.0 می تونست تصاویر YUV رو هم از دوربین بگیره. دقیقاً الان حضور ذهن ندارم بگم کدوم تابع بود ولی یه پارامتر به صورت string داشت که مشخص می کردیم تصویر رو با چه چیدمان بایت و با چه فرمتی از دوربین بخونه.
    شما از چه ورژنی استفاده می کنی؟

  20. کاربران : 2 تشکر کرده اند از شما ali_h برای ارسال این پست سودمند:


  21. #12
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    من از ورژن 2.4.4 استفاده میکنم. تو این نسخه که فقط با RGB کار میکنه (البته بعدش میشه به YUV تبدیل کرد ولی دیگه فایده نداره). ترجیه میدم با نسخه های قدیمی تر کار نکنم چون تو این جدیدها توابع بهینه تر نوشته شدن و هم 1 روز روی کامپایلش وقت گذاشتم ! حافظه هم کم مونده و نمیتونم جفتشون رو با هم استفاده کنم.
    این چند روز درگیر پروژه دانشگاه هستم، بعدش یکم سعی میکنم این کلاس videocapture خود opencv رو دور بزنم (با V4L میشه گویا) اگه اون هم جواب نداد مجبورم برم سراغ نسخه های قبلی

  22. کاربران : 2 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  23. #13
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    منم 100 درصد موافقم که با نسخه های قدیمی کار نکنین. منتهی گفتم چونکه تو نسخه های قبلی هست به احتمال قوی توی نسخه های جدید هم هست.

  24. کاربران : 2 تشکر کرده اند از شما ali_h برای ارسال این پست سودمند:


  25. #14
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    خب بالاخره این مشکل هم حل شد!
    با استفاده از کتابخونه V4L میشه تصویر با فرمت YUV رو مستقیم از وبکم خوند، اینطوری نیازی به به دیکود کردن تصویر فشرده (jpeg) تو حالت RGB نیست. از طرف دیگه با YUV خیلی سریعتر تصویر رو میشه به grayScale تبدیل کرد.
    الان پیش نمایش تصویر با V4L مشابه guvcview پردازش میگره و تو رزولیشن 120*160 فقط 5-6 درصد از cpu مشغول میشه! قبلا با VideoCapture خود opencv همین کار حدود 60 درصد از cpu رو میگرفت! همش هم به خاطر دیکود کردن jpeg بوده.
    برنامه شار نوری رو اجرا کردم. با 3-4 تا نقطه، حدود 15 درصد cpu لود میشد و با 20 تا نقطه حدود 35 درصد و از اون به بعد دیگه تاخیر مشهود میشد.
    تو تصویر زیر میزان cpu مصرف شده و (بخشی از) خروجی برنامه شار نوری رو میبیند:



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

    خلاصه اینکه راه افتاد
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: linaro.jpg
مشاهده: 251
حجم: 97.6 کیلو بایت  

  26. کاربران : 9 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  27. #15
    همکار افتخاری dariush_ab آواتار ها
    تاریخ عضویت
    Apr 2012
    نام
    داریوش عباسی نژاد
    نوشته ها
    2,112
    تشکر
    1,404
    تشکر شده 1,810 بار در 1,064 پست

    پیش فرض

    سلام آقا فرزاد.
    خوشحالم که موفق شدید.
    فکر کنم مهندس زارعی یک سری دوربین میخوان بیارن.
    اگر لطف کنید یک آموزش گام به گام که برای این دوربین ها عملی باشه و دوستانی که قصد شروع از صفر را دارند بتونن کار کنن بگذارید تا به ویکی منتقل کنیم خیلی خوب میشه.
    راستی من دو لینک خیلی خوب براتون سراغ دارم.حتما ببینید:
    این لینوکس تقریبا مثل lubuntu خودمون هستش ولی واقعا روش کار کردن.
    http://www.pcduino.com/?p=374


    و این هم realtime:

    http://www.pcduino.com/?p=808

  28. کاربران : 4 تشکر کرده اند از شما dariush_ab برای ارسال این پست سودمند:


  29. #16
    همکار silentshot آواتار ها
    تاریخ عضویت
    Dec 2010
    نام
    مهندس رحمانی
    نوشته ها
    138
    تشکر
    176
    تشکر شده 170 بار در 83 پست

    پیش فرض

    اقا فرزاد دوربین شما خروجی تصویرش yuvهستش؟
    اگه دوربین خروجیش به صورت پیشفرض رو rgb هم باشه مشکلی ایجاد میشه؟

    من الان درگیر دوربینم کرنل رو تصحیح کردم

  30. #17
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    این بورد PCduino بورد خیلی خوبی هست، شاید از نظر امکانات فرق چندانی با marsboard نداشته باشه ولی "پدر و مادر" دار هست. این خودش باعث میشه تعداد افراد زیادی روش کار کنند و خیلی بیشتر توسعه پیدا کنه. البته مثل خود ARDUINO نمیشه ولی فکر کنم در حد beagle board روش کار بشه.
    به هر حال ما که مارس یورد رو داریم استفاده میکنیم و گلیم خودمون رو از آب میکشیم بیرون.

    خوشبختانه در مورد پردازش تصویر همون کارهایی که اونا کردن رو من قبلا انجام دادم و "فعلا" چیزی عقب نیستیم. حتی یه کوچولو جلو هستیم. مثلا اونا فعلا به این میگن RealTime :
    کد:
    320×240 px and 10 frames per second
    راه حل این قضیه YUV,RGB رو من با کلی جستجو پیدا کردم (تو فروم beagleboard) .
    یا برای سادگی بیشتر به جای opencv از simplecv استفاده کردن که در واقع همون opencv هست ولی کندتر!
    (اوایلش اینطوریه ولی بعد که تعداد اعضاشون زیاد بشه کارهای جالبی خواهند کرد که ما یاد بگیریم)

    دقیقا چه دوربینی میخوان تهیه کنند؟
    آخر هفته سعی میکنم مطالب رو یکم شسته رفته کنم.

  31. کاربران : 7 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  32. #18
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    نقل قول نوشته اصلی توسط silentshot نمایش پست ها
    اقا فرزاد دوربین شما خروجی تصویرش yuvهستش؟
    اگه دوربین خروجیش به صورت پیشفرض رو rgb هم باشه مشکلی ایجاد میشه؟

    من الان درگیر دوربینم کرنل رو تصحیح کردم
    برای من هم YUV و هم RGB داره. پیشفرضش فکر کنم YUV باشه.
    شما نرم افزار guvcview رو استفاده کنید مشخص میشه.
    فکر نمیکنم مشکلی ایجاد بشه، تو V4L میتونید فرمت خروجی رو تعیین کنید.

  33. کاربران : 2 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  34. #19
    همکار افتخاری dariush_ab آواتار ها
    تاریخ عضویت
    Apr 2012
    نام
    داریوش عباسی نژاد
    نوشته ها
    2,112
    تشکر
    1,404
    تشکر شده 1,810 بار در 1,064 پست

    پیش فرض

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

  35. #20
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

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

  36. کاربران : 5 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


صفحه 1 از 2 12 آخرینآخرین

موضوعات مشابه

  1. پاسخ: 10
    آخرين نوشته: 04-08-2012, 13:20
  2. نمایش تصویر ov6620 بر روی برد ARM اتمل
    توسط hiuman در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 1
    آخرين نوشته: 18-11-2011, 18:37
  3. نمایش تصویر ov6620 بر روی برد ARM اتمل
    توسط hiuman در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 0
    آخرين نوشته: 18-11-2011, 15:53
  4. چگونه جستجوی تصویری گوگل را به روزهای خوش گذشته برگردانیم؟!
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 0
    آخرين نوشته: 07-10-2010, 13:13
  5. نمایش تصویر و نوشته روی تلوزیون
    توسط farzadsw در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 11-01-2010, 00:54

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •