شروع کار با دوربین رسپبری‌پای با زبان برنامه‌نویسی پایتون (قسمت دوم)

دوشنبه, 20 آذر 1396 00:00
این مورد را ارزیابی کنید
(7 رای‌ها)

در این آموزش با برد رسپبری‌پای، استفاده از زبان برنامه‌نویسی پایتون (python) و دوربین رسپبری‌پای (picamera) شروع می‌کنیم. به این طریق شما عکس می‌گیرید، ویدئو ضبط می‌کنید و روی تصویر افکت مدنظر خود را اعمال می‌کنید.

در قسمت اول این آموزش که با عنوان "شروع کار با دوربین رسپبری‌پای با زبان برنامه‌نویسی پایتون (قسمت اول)" فراهم شد، نحوه راه‌اندازی این ماژول و عکس گرفتن با استفاده از آن ارائه شد. در این آموزش یادگیری و راه‌اندازی این ماژول را با ضبط کردن ویدئو با دوربین رسپبری‌پای دنبال خواهیم کرد.

ضبط کردن ویدئو

اکنون که شما از دوربین برای گرفتن عکس ساکن استفاده کردید، می‌توانید به سمت ضبط کردن ویدئو بروید.

  • کدهای خود را با جایگزین کردن capture() با start_recording() و stop_recording() تغیر دهید:

camera.start_preview()

camera.start_recording('/home/pi/video.h264')

sleep(10)

 camera.stop_recording()

camera.stop_preview()

 

  • با اجرای کد خواهید دید که دوربین 10 ثانیه ضبط خواهد کرد و سپس پیش‌نمایش بسته خواهد شد.
  • برای اینکه ویدئو را نمایش دهید کافی است تا یک پنجره ترمینال (terminal window) را با کلیک کردن روی آیکون مانیتور مشکی در نوار بازکنید:

Picamera

  • به‌منظور پخش ویدئو دستوری که در ادامه آمده است را تایپ کرده و Enter را بزنید:

omxplayer video.h264

 omxplayer

  • ویدئو باید پخش شود. ممکن است درواقع با سرعتی سریع‌تر آنچه ضبط‌شده است پخش شود که به دلیل نرخ فریم سریع‌تر omxplayer است.

افکت‌ها

در ابتدا شما با camera=Picamera() یک شئی به نام camera ایجاد کردید. شما می‌توانید از این شئ به‌منظور پیکربندی و تغییر تنظیماتش استفاده کنید. نرم‌افزار دوربین تعدادی افکت را فراهم آورده است و شما می‌توانید شکل‌های دیگری را اعمال کنید. بعضی از آن‌ها فقط به پیش‌نمایش اعمال می‌شوند نه به تصویر گرفته‌شده، تعدادی دیگر تنها به تصویر گرفته‌شده اعمال می‌شوند، اما تعداد زیادی به هر دو اعمال می‌شوند.

  • رزولوشن عکس گرفته‌شده قابل تنظیم است. به‌صورت پیش تنظیم به‌صورت رزولوشن نمایشگر شما تنظیم می‌شود، اما بیشینه رزولوشن برای هر تصویر ساکن 2592*1944 و برای ضبط کردن ویدئو 1920*1080 است. مثالی که در ادامه می‌آید رزولوشن را تا بیشینه تنظیم می‌کند. توجه داشته باشید که شما همچنان نیاز دارید که نرخ فریم‌ها را برای فعال کردن بیشینه رزولوشن تا 15 تنظیم کنید:

 

camera.resolution = (2592, 1944)

camera.framerate = 15

 camera.start_preview()

sleep(5)

camera.capture('/home/pi/Desktop/max.jpg')

camera.stop_preview() 

  • کمینه رزولوشن 64*64 است. تلاش کنید در این رزولوشن یک عکس بگیرید و نتایج را مقایسه کنید.
  • شما می‌توانید به‌راحتی و به کمک annotate-text، به تصویر خود text اضافه کنید. برای این کار برنامه زیر را امتحان کنید:

camera.start_preview()

camera.annotate_text = "Hello world!"

sleep(5)

camera.capture('/home/pi/Desktop/text.jpg')

camera.stop_preview() 

  • می‌توانید روشنایی را تغییر دهید که از 0 تا 100 قابل تنظیم است. روشنایی به‌صورت پیش‌فرض روی 50 تنظیم‌شده است. تلاش کنید تا تنظیمات را روی مقدار دیگری امتحان کنید:

 camera.start_preview()

camera.brightness = 70

sleep(5)

camera.capture('/home/pi/Desktop/bright.jpg')

camera.stop_preview() 

  • تلاش کنید تا روشنایی را درون یک چرخه تنظیم کنید تا سطح روشنایی فعلی را روی صفحه‌نمایش به‌صورت متن نمایش دهد:

camera.start_preview()

for i in range(100):

camera.annotate_text = "Brightness: %s" % i camera.brightness = i

sleep(0.1)

camera.stop_preview() 

  • به‌صورت مشابه تنظیمات را برای کنتراست به کار ببرید:

 camera.start_preview()

for i in range(100):

camera.annotate_text = "Contrast: %s" % i camera.contrast = i

sleep(0.1)

camera.stop_preview() 

  • شما می‌توانید اندازه متن را به کمک کد زیر تنظیم کنید:

camera.annotate_text_size = 50 

اندازه‌های قابل‌قبول از 6 تا 160 است و پیش‌فرض 32 می‌باشد.

  • شما همچنان می‌توانید رنگ متن‌ها را تغییر دهید. در ابتدا مطمئن شوید که color با خط دستور import در بالا واردشده باشد:

from picamera import PiCamera, Color

سپس بقیه کد خود را مانند زیر بنویسید:

camera.start_preview()

camera.annotate_background = Color('blue')

camera.annotate_foreground = Color('yellow')

camera.annotate_text = " Hello world "

sleep(5)

camera.stop_preview() 

  • شما می‌توانید از image-effect به‌منظور اعمال افکت خاصی استفاده کنید. انتخاب‌ها عبارت‌اند از:

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

پیش‌فرض none است. یکی را انتخاب کنید و امتحان کنید و نتیجه را مشاهده کنید. با دستور زیر می‌توانید این افکت‌ها را بکار برده و با یکدیگر مقایسه کنید:

camera.start_preview()

camera.image_effect = 'colorswap'

sleep(5)

camera.capture('/home/pi/Desktop/colorswap.jpg')

camera.stop_preview() 

  • یک چرخه را برای پیش‌نمایش افکت‌های مختلفی به‌منظور امتحان آن‌ها، به‌صورت برنامه زیر آزمایش کنید تا درنهایت افکت موردعلاقه خودتان را بتوانید انتخاب کنید:

camera.start_preview()

for effect in camera.IMAGE_EFFECTS:

camera.image_effect = effect

camera.annotate_text = "Effect: %s" % effect

sleep(5)

camera.stop_preview()

Picamera effects

  • شما می‌توانید از دستور awb-mode برای تنظیم خودکار تعادل سفیدی به مدی که قبلاً تعریف‌شده است به‌منظور اعمال یک افکت خاص، استفاده کنید. انتخاب‌ها عبارت‌اند از:

off, auto, sunlight, cloudy, shade, tungsten, fluorescent, incandescent, flash, and horizon

 پیش‌فرض مد auto است. یکی را انتخاب کنید و آن را با برنامه زیر امتحان کنید:

camera.start_preview()

camera.awb_mode = 'sunlight'

sleep(5)

camera.capture('/home/pi/Desktop/sunlight.jpg')

camera.stop_preview()

شما می‌توانید به کمک دستور camera.AWB_MODES حلقه‌ای از تعادل سفیدی خودکار ایجاد کرده و آن‌ها را با یکدیگر مقایسه کنید.

  • می‌توانید با استفاده از دستور exposure_mode برای تنظیم اکسپوژر به یک مد از قبل تعریف‌شده به‌منظور اعمال یک افکت خاص استفاده کنید. انتخاب‌ها عبارت‌اند از:

ff, auto, night, nightpreview, backlight, spotlight, sports, snow, beach, verylong, fixedfps, antishake, and fireworks.

پیش‌فرض auto است. یکی را انتخاب کنید و آن را امتحان کتید:

camera.start_preview()

camera.exposure_mode = 'beach'

sleep(5)

camera.capture('/home/pi/Desktop/beach.jpg')

camera.stop_preview()

شما می‌توانید بازهم با استفاده از دستور camera_EXPOSURE_MODE یک چرخه را روی اکسپوژرهای موجود امتحان کنید.

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

 

 

نظرات، پيشنهادات و انتقادات خود را براي بهتر شدن محتواي مطالب با ما در ميان بگذاريد...

 


ترجمه شده توسط تيم الکترونيک صنعت بازار | منبع: سايت projects.raspberrypi.org

خواندن 2836 دفعه
پشتیبانی

عباس بطالبلو دانش‌آموخته کارشناس ارشد رشته مهندسی مکاترونیک از دانشگاه صنعتی خواجه نصیرالدین طوسی و عضو گروه رباتیک جراح آزمایشگاه ارس (ARAS) هستند. موضوع پایان نامه کارشناسی ارشد ایشان در زمینه ی «طراحی و پیاده سازی ربات ۲RT برای جراحی از دور چشم» بوده است. ایشان سابقه پیاده سازی و ساخت ربات هایی چون ربات موازی جراحی چشم، ربات سری SCARA، ربات Palletizer و … را دارند.

نظرات (0)

هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید

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

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com