آموزش رزبری پای رزبری پای سخت افزار ماژول دوربین پروژه رزبری پای

چگونه از دوربین رزبری پای Raspberry pi استفاده کنیم؟

نوشته شده توسط اروند طباطبایی

ماژول دوربین رزبری پای یکی مفیدترین ماژول هایی است که می‌توانید در پروژه هایتان از آن استفاده کنید. این ماژول کیفیت مناسبی دارد و می‌تواند با کیفیت (full HD (1080p عکس و فیلم بگیرد.این دوربین پنج مگاپیکسلی در سال ۲۰۱۳ منتشر شد، البته یک مدل هشت مگاپیکسلی از این دوربین هم امسال به بازار آمد. این دوربین ها در دو نوع مادون قرمز و معمولی با قیمت حدود ۲۵ دلار وجود دارند.

کیفیت این دوربین از وبکم های عادی USB خیلی بهتر است و فرمور آن کاملاً برای استفاده از GPU رزبری پای بهینه شده است و می‌تواند کاملاً از توان پردازشی آن استفاده کند که باعث می‌شود بتوانید ویدئو های ۱۰۸۰p را ۳۰fps، ویدئو های ۷۲۰p را در ۶۰fps و ویدئو های VGA را در ۹۰fps ضبط کنید.

 

شروع به کار با دوربین raspberry pi

ابتدا وقتی رزبری خاموش است ماژول دوربین را به پورت مخصوص رزبری وصل کنید و برد را روشن کنید و مطمئن شوید که نرم‌افزار آن فعال است پس پورت آن را پیدا کنید و دوربین را وصل کنید.

1

Raspberry Pi

مطمئن شوید که نرم‌افزار آن درRaspberry Pi Configuration tool فعال شده است.

2

raspberry pi configuration

برای تست دوربین ترمینال را باز کنید و دستور زیر را اجرا کنید:

raspistill -k

این دستور به شما پیش نمایشی از تصاویر دوربین را نشان خواهد داد. اگر با VNC یا SSH به رزبری وصل شده اید، این پیش نمایش در مانیتور رزبری نشان داده می‌شود نه در در سیستم شما! برای خروج هم از Ctrl + C استفاده کنید.

 

Python

به جز استفاده از واسط خط فرمانی raspistill می‌توانید از ماژول پایتون picamera استفاده کنید که هم استفاده از آن ساده‌تر است و هم اینکه می توانید رفتار دوربین خود را به صورت پویا عوض کنید(مناسب برای انجام پروژه ها)

ویرایشگر پایتون IDLE را باز کرده و فایل جدیدی بسازید و کد زیر را در آن قرار دهید:

 

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

 

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

 

همچنین امکان اعمال افکت های مختلف هم فراهم شده:

camera.image_effect = “colorswap"

افکت های sketch، negative و emboss را هم تست کنید البته می توانید لیست بهتری از این افکت ها را در camera.IMAGE_EFFECTS ببینید! ایجاد یک حلقه برای دیدن آن‌ها جالب به نظر می رسد:

camera.start_preview()
for effect in camera.IMAGE_EFFECTS:
    camera.image_effect = effect
    camera.annotate_text = effect
    sleep(5)
camera.stop_preview()

ویژگی‌های زیادی وجود دارند که می‌توانید آن‌ها را تغییر دهید، ویژگی‌های بالا، زوم، دقت تصویر، ISO و … تعدادی از این ویژگی‌ها هستند. برای دیدن ویژگی‌های بیشتر می‌توانید مستندات رسمی picamera ببینید.

 

ویدئو با دوربین raspberry pi

ضبط ویدئو هم کار سختی نیست. به سادگی می‌توانید از متد های start_recording و stop_recording استفاده کنید:

camera.start_preview()
camera.start_recording('/home/pi/video.h264')
sleep(10)
camera.stop_recording()
camera.stop_preview()

هنگام پخش ویدئوی ضبط شده ممکن است نرخ فریمی پخش از نرخ فرمی که ویدئو با آن ضبط شده بیشتر باشد.

از کار با رزبری لذت ببرید 🙂

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۶۲ دیدگاه

    • سلام نیما جان
      برد رزبری پای Raspberry Pi دارای یک عدد کانکتور CSI برای دوربین هست.

  • باسلام
    سایت خوب و آموزنده ای دارید
    می خواستم بدونم می تونید یکم اطلاعات در مورد پردازش تصویر با رزبری پای به من بدید؟
    آیا امکان تشخیص موانع هست ؟

    • امکان پردازش تصویر با قابلیت های فوق العاده رو میشه رو رزبری پای و دوربینش و همچنین زبان پایتون پیاده سازی کرد
      متاسفانه من تحقیق زیادی در این زمینه نداشتم تا در اختیارتون قرار بدم اطلاعاتم رو

      • باتشکر از شما
        فقط یک چیز نمیشه با سی++ کار کرد من تحقیق کردم به نظر میاد که میشه؟
        هیچ کدام از بورد ها نیست تعداد دوربین بیشتری ساپورت کند؟

  • سلام آقای طباطبائی. میخواستم بدونم امکان داره چند تا دوربین رزبری رو با تبدیل پورت به یه سوئیچر مثل NVR یا DVR متصل کرد و از خروجی سوئیچر به رزبری پای متصل شد؟یعنی چند تا دوربین رو با یه رزبری پای کنترل کرد و در یه زمان عکس گرفت و عکسها رو دونه دونه به رزبری پای داد. واز خروجی رزبری عکسها رو به لپ تاب فرستاد؟

    • با سلام و درود
      در جمله اول سوال کردید که چندتا دوربین رزبری پای را به سوئیچر متصل کنید، پروتکل ارتباطی دوربین رزبری پای با اسلات CSI برد همسو می‌باشد. از این رو به سادگی نمی‌توانید با DVR راه اندازی کنید. اما اگر منظورتان این است که دوربین‌ها را با خود برد رزبری پای به DVR یا NVR متصل کنید. که این کار معقول نیست.
      در سوال دوم ذکر کرده‌اید که چندتا دوربین را به رزبری پای Raspberry Pi متصل کنیم. برای این منظور می‌توان یک دوربین از اسلات CSI و حداکثر ۲ دوربین با پورت USB را مدیریت کرد. که این موضوع نیاز به تخصص فنی در بحث نرم افزاری دارد. در این حالت برد رزبری پای باید ۳ تصویر را همزمان دریافت کند.
      برای انتقال تصاویر از برد رزبری پای Raspberry Pi هم می‌توانید با پروتکل SSH این کار را انجام دهید که نیاز دارد اسکریپ خاصی را بنویسید.

      • تشکر میکنم از اینکه به سوالم جواب دادید ولی چند سوال دیگه هم دارم که اگه جواب بدید ممنون میشم:۱_ اگه شما بخواهید ۱۰۰ دوربین ۵ مگا پیکسل رو طوری با هم شبکه بکنید که در یک زمان عکس بگیرند و اطلاعاتشون رو به pc بفرستند از چه ترکیبی استفاده میکردید. در نظر داشته باشید که بحث هزینه در اولویت اصلی کار میباشد. ۲_ بین orange یا raspberry یا سایر pi ها کدوم رو شما انتخاب میکنید که تا کار با کیفیت مطلوب و هزینه پایین انجام بشه. ۳_ جنابعالی در جواب سوال قبلی من اعلام کردید ۳ دوربین قابلیت اتصال به رزبری رو دارند. سوال اینجاست که آیا دو دوربین بعدی هم باید از نوع دوربین رزبری باشند ؟ و اگر جواب مثبت است تبدیل اسلات csi به usb وجود دارد؟ باتشکر فراوان از شما

        • با سلام و درود
          ۱- به نظر بنده برای این منظور بهترین و در دسترس ترین روش Ip Camera میباشد.
          ۲- با توجه به پاسخ قبلی عملا به این بردها نیازی نیست.
          ۳- در پاسخ قبلی هم نوشته ام، یک دوربین رزبری همان CSI و دو دوربین دیگر USB
          درباره تبدیل اسلات به USB هم بنده کالای خاصی پیدا نکردم.

      • سلام خسته نباشید
        برای پردازش تصویر روی رسپری پای می توان با زبان سی وپایتون کار کرد .
        شما در کدام زبان می خواهید برنامه نویسی کنید . برای این کار یک کتاب به نام
        image processing in raspbery pi وجود دارد می توانید دانلود کنید .
        به امید خدا

  • سلام بر جناب آقای اروند طباطبائی.
    جناب آقای اروند طباطبائی جسارتا من جواب سوالم رو نگرفتم. ببخشید اگه پر چونگی میکنم.آقا مهدی عزیز راهنمائی هایی در رابطه پردازش تصاویر کردند که اصلا منظور نظر من نبود. باز هم ازتون عذر می خواهم.

  • با سلام دوست عزیز برای پردازش تصویر رزبری بهتره یا اردینو ؟ قیمتشون چقدره و قطعاتشون به راحتی پیدا میشه یا نه؟

    • درود بر شما
      هر دو برد برای پردازش تصویر قابل استفاده میباشند. در درجه اول برد رزبری پای با نرم افزار Open CV و دیگر نرم افزارها قابلیت کارایی دارد.
      لطفا در این زمینه سوالاتتان را کامل و دقیق بیان کنید.

  • سلام نیما هستم.یک سوال داشتم از حضورتون..بنده میخواستم ازین دوربین برای دید درشب و گشت در طبیعت استفاده کنم.. دوربین را چگونه میتوان بدون نرم افزار راه اندازی کرد…ایا با موبایل میشود دوربین را استفاده کرد یا وسیله دیگری که کوچک باشد؟

    • با سلام
      ضمن تشکر از توجه شما، برای این منظور استفاده از این دوربین و برد رزبری پای پیشنهاد نمیشود. ولی برای تبدیل دوربین موبایل به دید در شب میتوانید با سنسورهای فرستنده IR این کار را انجام دهید. البته انتظار عملکرد عالی نداشته باشید.

  • با عرض سلام وخسته نباشی خدمت مهندس طباطبایی.
    آیا میتونم توسط رزبری پای تصویر را آنلاین از فاصله ۱الی۲ کیلومتری انتقال بدم روی گوشی یالب تاب.
    باتشکر.

    • با سلام
      ضمن تشکر از توجه شما، خیر چنین امکانی وجود ندارد. یعنی امکان ارسال تصویر روی سرور و بستر وب را دارد، اما نه با سرعت مناسب مانند دوربین‌های مدار بسته، برای این منظور میتوانید تصویر را از طریق ارتباط VNC روی تلفن همراه دریافت کنید. ولی باز هم دقت داشته باشید که انتظار تصویر real time نداشته باشید.

  • با عرض سلام وخسته نباشید خدمت مهندس طباطبایی
    من یه برد رزبری ۳ با ماژول دوربین ۸ مگا پیکسل گرفتم، هنوز راه اندازی نکردم
    برای دوربین نیاز به لنز دارم یا بدون لنز هم تصویر مناسبی داره؟
    فوکوس دوربین بصورت خودکار تغییر میکنه حین تصویربرداری؟ چون من میخوام فوکوس ثابتی داشته باشه؟
    با تشکر

    • با سلام
      ضمن تشکر از توجه شما، در درجه اول بفرمایید که از کدا مدل دوربین ها تهیه کرده اید. اگر از دوربین مخصوص رزبرى استفاده میکنید، دو مدل دارد، یکى با لنوز که نیاز به فکوس دستى دارد و دیگرى بدون لنز که فکوس اتوماتیک است.

  • لام وقتتون بخیر کیفیت دوربین موبایل باسنسورirخوب نشد…لطفا دوربینی به من معرفی کنید که حداقل ۱۰ مترو در شب بتونم با اون محیط مشاهده کنم.سپاس

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

    • با سلام
      ضمن تشکر از توجه شما، کاربرد این فیلتر مربوط به تحقیقات بیولوژیکى است. با ترکیب این فیلتر و سنسور مادون قرمز، تصاویر تحقیقاتى از سلامت برخى گیاهان قابل تهیه است.

  • با سلام و خسته نباشید
    آیا در فروشگاه، کیسی برای رسپبری پای وجود دارد که بتوان بر روی آن لنز جداگانه نصب کرد. مانند کیسی که عکس آن در بالای همین صفحه وجود دارد (Snappi cam)

        • سلام مجدد
          بله لینک ارسالی را بررسی کردم، البته در کالای دیگری قابلیت اتصال لنز به این جعبه را نمایش داده بود. به نظر میرسد که بتوان از لنزهایی که به صورت کلیپسی برای موبایل‌ها عرضه شده‌اند، در رزبری پای هم استفاده کرد. البته بنده این موضوع را تست نکرده‌ام ولی به نظر دور از دسترس نیست.

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

          • و یه سؤال دیگه؟
            بنده دنبال یک دوربین مادون قرمز برای رزبری پای هستم اما دوربینی که صرفا و فقط در طیف مادون قرمز کار کنه پیدا نکردم. البته دوربین NoIR مناسب کار بنده نیست متاسفانه
            ممنون میشم راهنمایی بفرمایید و یا اگه در فروشگاه موجود دارید لینک بدید.
            با تشکر

            • در مورد دوربین مادون قرمز، سنسور به کار رفته در دوربین کلا با دوربین NoIR متفاوت است و اینطور نیست که با قرار دادن سنسورهای IR روی این دوربین‌ها، یک دوربین مادون قرمز داشته باشید. در حال حاضر چنین دوربینی موجود نداریم. امید است در کالاهای جدید اضافه شود.

              • به نظر میاد در نهایت ناگزیرم از لنزهای کلیپسی همراه با دوربین NoIR استفاده کنم و برای اینکه نور مریی رو نداشته باشم از فیلترهای مادون قرمز ورقه ای هم بر ای مسدود کردن نور مریی استفاده کنم. البته ممکنه این وسط از کیفیت تصویر کم بشه به دلیل اینکه فواصل کانونی شیئی و چشمی اینا منطبق نباشه.

                • به همراه دوربین اورجینال رزبری پای از این فیلترهای ورقه‌ای ارایه می‌شود. در هر صورت یکی از روش‌ها برای مسدود کردن طیف نوری مشخصی، استفاده از همین فیلترهای فیزیکی است.

                  • بله اما اون فیلتر آبی رنگ ورقه ای برای تصویربرداری چند طیفی مورد استفاده قرار میگیره که برای محاسبه پارامتر NDVI در خصوص تصاویر می باشد.
                    لطفا لینک سفارش کیت استارت رسپبری رو به همراه دوربین NoIR برای بنده ارسال بفرمایید.
                    با تشکر

                    • سلام مجدد
                      از پاسخ کامل شما تشکر میکنم. برای خرید کیت‌های رزبری پای به صفحه کیت رزبری پای Raspberry Pi مراجعه کنید. البته کیت مورد نظر غیر فعال می‌باشد. به زودی برای خرید فعال خواهد شد.

  • من این کد را تست کردم. فایل image.jpg درست میشه ولی سایزش ۰KB هست. بنابراین وقتی بتزش می کنم پیغام میده که اطلاعاتی تو فایل وجود نداره!
    کسی میدونه دلیلش چیه؟

    • با سلام
      ضمن تشکر از توجه شما، لطفا دقیقا دستوری را که در ترمینال وارد میکنید، ارسال کرده تا بررسی کنم.

  • با سلام.
    هرچند که سوال من به این قسمت زیاد مربوط نمیشه ولی خواهش میکنم جواب بدین سوالم اینه که من میخوام حداقل چهار تا دوربینو به رزبری پای وصل کنم به طوری که تصویرشو از داخل رزبری پای بتونم ببینم چیه؟؟؟
    (آیا نمیشه DVR یا NVR رو به رزبری پای وصل کرد و یا دوربین هایی با خروجی USB رو نمیشه به هاب یا به USB های رزبری پای وصل کرد؟؟)

    • با سلام
      ضمن تشکر از توجه شما، در این خصوص چند روش برای ساخت DVR با رزبری پای وجود دارد. و اینکه بنده هیچ‌کدام را تست نکرده‌ام. ولی اینکه چهار تا دوربین را بتوانید با یک برد رزبری پای راه اندازی کنید هم موضوعیست که بنده تست نکرده‌ام. از دیگر کاربران که در این زمینه تجربه عملی دارند تقاضا دارم تا در این بحث شرکت کنند.

  • سلام
    یه مشکلی با دوربین رزبری دارم تموم پیش نیاز ها نصب شده خود دوربین فعاله خروجی vcgencmd get_camera اوکیه ( ساپورت و تشخیص جفت یک) ولی به هنگام تست mmal: No data received from sensor این ارور داده میشه تموم کانکشن ها هم چک شده و به پورت درست هم وصل شده به نظر من مشکل از خود دوربین باید باشه ؟؟
    چیکار کنم

  • سلام.من یه سوال داشتم.من وقتی در پایتون کد میزنم و خط استارتر پریویو ی دوربین رو مینویسم قاعدتا برای رفتن به خط بعد باید اینتر بزنم تا کد های بعدی مثل اسلیپ و غیره رو بزنم ولی خب مشکل اینجاست که بعد از زدن اینتر بعد از استارت پریویو،دوربین شروع به مایش تمام صفحه میکنه و من باید دوباره رزبری ررو ریست کنم،میخواستم بدونم که آیا میتونید کمکم کنید

    ممنون از سایت پربارتون،تعدادی از پروژه هام بدون شما ممکن نبود یا حداقل سخت بود
    با تشکر…

    • با سلام و تشکر از توجه شما
      در این خصوص لطفا بفرمایید که تصویر را در چه نمایشگری مشاهده می‌کنید. همچنین به سادگی با کلیدهای میانبر می‌توانید پنجره‌ها را جابجا کنید.

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

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

  • با سلام و احترام
    ضمن عرض درود و قدردانی جهت ارائه مطالب مفیدتون؛ برنامه ای که نوشتم تصویر را میگیره منتهی مشکلی که وجود دارد این هستش که تصویر به صورت RGB نمایش داده نمی شود. تصویر به آبی یا قرمز تمایل پیدا می کند. در ضمن از دوربین ۳٫۶mm IR 1080P که مخصوص بر رزبری هست استفاده می نمایم. ممنون میشم راهنمایی فرمایید.
    با تشکر

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

  • سلام
    من برای انتخاب برد و دوربین مناسب برای پروژم با مشکل برخوردم
    میخوام از فاصله ی حدودا ۳۰ سانتی بالای ۲۰ فریم در ثانیه کپچر کنم و بارکد توی تصویر رو بخونم
    و درنهایت با سکوت ارسال کنم به سرور
    کدم رو با پایتون اوپن سی وی و zxing-cpp نوشتم و روی سیستم خودم درست کار میکنه

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

    به نظرتون از زیرو ورژن ۲ استفاده کنم توان پردازشی مناسب برای این کار رو داره ؟ یا باید از ۲ ۳ یا ۴ استفاده کنم؟
    اصلا کارم درسته ؟ sbc بهتری برای این کار هست ؟
    چه دوربینی پیشنهاد میدین ؟

    سپاس

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