قدم به قدم با دوربین رزبری پای

فهرست مطالب

مقدمه

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

آنچه در این آموزش یاد میگیرید

لوازم مورد نیاز

سخت افزارهای مورد نیاز

برد رزبری پای × 1
دوربین رزبری پای × 1

نرم افزارهای مورد نیاز

Arduino IDE

راه اندازی دوربین با رزبری پای

کنترل دوربین با استفاده از رزبری پای بسیار ساده است. برای راه اندازی دوربین فقط کافیست مراحل زیر را انجام دهید:

راه اندازی دوربین در رزبین دسکتاپ

  • دوربین را به رزبری پای متصل کنید.
  • از قسمت Preferences به قسمت تنظیمات رزبری پای (Raspberry Pi Configuration) بروید.
  • در قسمت Interfaces، دوربین را فعال کرده و OK را انتخاب کنید .
  • سیستم عامل را Reboot کنید.
  • راه اندازی دوربین در رزبین لایت

    • دوربین را به رزبری پای متصل کنید.
    • در ترمینال دستور زیر را تایپ کنید تا به بخش تنظیمات رزبری پای بروید.
  • به بخش Interfacing Options بروید. دوربین را فعال کرده و رزبری پای خود را Reboot کنید.
  • عکس برداری با استفاده از دوربین رزبری پای

    عکس برداری با استفاده از ترمینال رزبین

    کتابخانه های مورد نیاز دوربین، به صورت پیش فرض روی سیستم عامل رزبین نصب شده است.

    با دستور raspistill می توانید یک عکس بگیرید. برای آشنایی با نحوه ی استفاده از این دستور، آن را در ترمینال رزبین تایپ کنید.

    raspistill
    

    برای مثال، با کد زیر، پس از 2 ثانیه عکسی گرفته می شود و با نام image1 ذخیره می شود.

    عکس برداری با استفاده از اسکریپت پایتون

    برای کنترل دوربین رزبری پای با زبان پایتون، از کتابخانه یPicamera  استفاده می شود. این کتابخانه امکانات زیادی برای کار با دوربین در اختیار شما قرار می دهد.
    نکته
    با دستور start_preview، دوربین شروع به تصویربرداری می کند. اگر رزبری پای شما مستقیما به مانیتور متصل باشد، شما می توانید خروجی دوربین را در حالت پیش نمایش (preview) ببینید. در غیر این صورت اگر از VNC یا SSH استفاده می کنید، قادر به مشاهده ی پیش نمایش تصاویر نخواهید بود.

    در کد زیر، ابتدا دوربین 5 ثانیه به صورت پیش نمایش فعال می شود و سپس یک عکس گرفته و آن را بر روی دسکتاپ شما با نام image ذخیره می کند:

    from camera import PiCamera
    from time import sleep
    
    camera = PiCamera()  
    camera.start_preview()
    sleep(5) #at least 2 seconds recommended
    camera.capture('/home/pi/Desktop/image.jpg')
    camera.stop_preview()
    
    نکته
    حداقل 2 ثانیه به دوربین اجازه دهید تا نور خود را با توجه به محیط تنظیم کند، سپس دستور capture را استفاده کنید.

    اضافه کردن متن به عکس

    با استفاده از دستور annotate_text می توانید متن دلخواه خود را به تصویر اضافه کنید. به مثال زیر توجه کنید:

    camera.start_preview()
    camera.annotate_text = "Electropeak"
    sleep(5)
    camera.capture('/home/pi/Desktop/text.jpg')
    camera.stop_preview()
    

    می توانید با استفاده از کلاس Color و دستورات annotate_background و annotate_foreground، رنگ نوشته را تغییر دهید.

    همچنین می توانید با دستور annotate_text_size سایز نوشته را تغییر دهید:

    from picamera import PiCamera, Color
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    camera.annotate_background = Color('pink')
    camera.annotate_foreground = Color('red')
    camera.annotate_text_size = 60
    camera.annotate_text = "Electropeak"
    sleep(5)
    camera.capture('/home/pi/Desktop/text.jpg')
    camera.stop_preview()
    

    اضافه کردن افکت به تصویر

    در کتابخانه ی Picamera فیلتر های مختلفی برای اعمال روی تصاویر وجود دارد. با دستور camera.image_effect = name of effect می توانید این فیلتر ها را اعمال کنید.

    from picamera import PiCamera, Color
    from time import sleep
    camera = PiCamera()
    camera.start_preview()
    camera.image_effect = 'sketch'
    sleep(5)
    camera.capture('/home/pi/sketch.jpg')
    camera.stop_preview()
    

     

    افکت های قابل استفاده:

    none, negative, solarize, sketch, denoise, emboss, oilpaint, hatch, gpen, pastel, watercolor, film, blur, saturation, colorswap, washedout, posterise, colorpoint, colorbalance, cartoon, deinterlace1, and deinterlace2

    توضیح کامل راجع به افکت ها را می توانید در اینجا ببینید.

    فیلم برداری با استفاده از دوربین رزبری پای

    فیلم برداری با استفاده از ترمینال رزبین

    با دستور raspivid می توانید فیلم برداری کنید. با تایپ این دستور در ترمینال، توضیحات مختصری از روش استفاده ی آن به شما نمایش داده می شود.

    برای مثال، دستور زیر 10 ثانیه فیلم برداری می کند و آن را با فرمت .h264 و به نام video_test ذخیره می کند.

    raspivid -o video_test.h264 -t 10000
    

    فیلم برداری با استفاده از اسکریپت پایتون

    با استفاده از کتابخانه ی Picamera و دستور start_recording می توانید دوربین را در مد فیلم برداری فعال کرده و شروع به فیلم برداری کنید.

    from picamera import PiCamera
    from time import sleep
    camera = PiCamera()
    camera.start_preview()
    camera.start_recording('/home/pi/Desktop/video.h264')
    sleep(10)
    camera.stop_preview()
    

    یک گام جلوتر

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

    از این مطلب خوشتان آمد؟

    آخرین مطالت و آموزش ها را در ایمیلتان دریافت کنید:

    مطالب بیشتر

    Comments (18)

    • امیررضا ناظمی Reply

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

      ژانویه 4, 2020 at 10:21 ب.ظ
      • سعید حسینی Reply

        اورنج پای هم ممکنه بدردتون بخوره یا بوردهای STM

        فوریه 29, 2020 at 9:13 ق.ظ
    • مهرناز Reply

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

      اکتبر 30, 2020 at 4:09 ق.ظ
      • محمدرضا اکبری Reply

        سلام. وقت شما هم بخیر.
        می توان کیفیت تصویر را با پردازش تصویر و اعمال برخی فیلترها روی آن تا حدودی افزایش داد. برای این کار می توانید از کتابخانه ی OpenCV استفاده کنید. این کتابخانه قابلیت نصب روی رزبری پای را هم دارد. برای مثال فیلم زیر را مشاهده کنید.
        https://www.youtube.com/watch?v=-iY3S3IoIyE&feature=emb_logo

        نوامبر 4, 2020 at 11:39 ق.ظ
    • محمد Reply

      با سلام و احترام
      ضمن عرض تشکر و قدردانی از ارائه مطالب آموزنده و کاربردی؛ بنده یک دوربین مدل imagingsourse دارم که دو تا خروجی پورت I/O و USB دارد ؛ ممنونم می شوم راهنمایی فرمایید که چگونه با رزبری پای متصل نمایم.
      با تقدیم احترام
      محمودپور

      دسامبر 27, 2020 at 12:04 ب.ظ
      • مهران ملکی Reply

        سلام
        لطفا مدل دقیق دوربین خود را بفرمایید. و همچنین در صورت امکان لینکی حاوی تصویر دوربین خود بفرستید. همچنین برای اطلاعات بیشتر می توانید از لینک های زیر استفاده کنید.
        “https://www.theimagingsource.com/” , “https://www.raspberrypi.org/forums/viewtopic.php?t=68256”

        دسامبر 30, 2020 at 5:32 ب.ظ
    • محمد Reply

      با سلام و احترام
      ضمن عرض درود و قدردانی جهت ارائه مطالب مفیدتون؛ برنامه ای که نوشتم تصویر را میگیره منتهی مشکلی که وجود دارد این هستش که تصویر به صورت RGB نمایش داده نمی شود؛ ممنون میشم راهنمایی فرمایید.
      با تشکر

      مارس 17, 2021 at 12:57 ب.ظ
      • مهران ملکی Reply

        سلام.
        از چه دوربینی و چه کدی استفاده می‌کنید برای راه‌اندازیش؟

        آوریل 3, 2021 at 9:52 ق.ظ
        • محمد Reply

          با سلام
          از دوربین مدل 3.6mm IR 1080P استفاده میکنم و همچنین از کد دستوری زیر که در آموزش همین سایت نیز قرار داده شده استفاده میکنم.

          from camera import PiCamera
          from time import sleep

          camera = PiCamera()
          camera.start_preview()
          sleep(5) #at least 2 seconds recommended
          camera.capture(‘/home/pi/Desktop/image.jpg’)
          camera.stop_preview()

          آوریل 7, 2021 at 12:14 ب.ظ
    • امید محمدی Reply

      سلام وقت بخیر
      من میخوام یه ماژولی راه اندازی کنم تا به کمک دوربین یه عکس از روی یک بارکد گرفته و اعدادش رو استخراج و تبدیل به متن بکنه ، اگر امکانش هست راهنمایی کنید ممنون میشم

      آگوست 14, 2021 at 10:48 ق.ظ
      • مهران ملکی Reply

        سلام وقت شما هم بخیر.
        متاسفانه در این رابطه اطلاعی ندارم. اما به طور کلی، برای پردازش تصویر بهترین ابزار پایتون و کتابخونه opencv هست. آموزش زیر هم میتونه براتون مفید باشه.
        “https://www.geeksforgeeks.org/how-to-make-a-barcode-reader-in-python/”

        آگوست 14, 2021 at 12:49 ب.ظ
    • امیرحسین هاتفی اردکانی Reply

      با عرض سلام
      می خواستم بدونم میشه تصویر دوربین رو با اینترنت انتقال داد و رو یه سیستم دیگه مشاهده کرد ؟؟؟
      چراکه از طریق VNC تصویر رو انتقال نمیده…
      اگر میشه چجوریه؟؟
      تشکر

      مارس 11, 2022 at 2:59 ب.ظ
    • سید احسان روحانی Reply

      با سلام وتشکر از آموزش شما
      رزبری پای 4 تهیه کردم و رزبین 32 bit نصب کردم در اتصال دوربین در قسمت terminal دستور sudo raspi-config را اجرا کرده و وارد interface configuration شده , در آنجا به جای گزینه Camera Enable/Disable عبارت Legacy Camera Install Support دیده می شود. برای رفع این مشکل لطفا راهنمایی بفرمایید.

      آوریل 16, 2022 at 10:37 ب.ظ
      • مهران ملکی Reply

        سلام
        سوالتون رو میتونید در بخش انجمن کافه‌ربات مطرح کنید تا دوستان دیگر که تجربه استفاده از این دوربین رو دارن هم بتونن راهنماییتون کنن.
        انجمن کافه‌ربات: https://thecaferobot.com/forum/

        آوریل 21, 2022 at 11:03 ق.ظ
    • رحیم سلیمانی Reply

      با سلام و تشکر از آموزش شما
      اگه بخوام از این دوربین فقط بصورت preview استفاده کنم ساده ترین برد پیشنهادی شما چیه؟
      ممنون

      فوریه 13, 2023 at 5:40 ب.ظ
    • محمود Reply

      با سلام، من روزپری پای 3 ام رو ویندوز 10نصب کردم آیا راهی برای نصب دوربین روزبری هست؟

      نوامبر 11, 2023 at 8:14 ب.ظ
      • محمد دمیرچی Reply

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

        نوامبر 14, 2023 at 8:03 ق.ظ

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

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