Raspberry Pi 5'te Çift Kamera Nasıl Kullanılır - Dünyadan Güncel Teknoloji Haberleri

Raspberry Pi 5'te Çift Kamera Nasıl Kullanılır - Dünyadan Güncel Teknoloji Haberleri
stop_preview() picam1

2 Raspberry Pi 5’i masaüstüne açın start_preview(Preview

from picamera2 import Picamera2, Preview from time import sleep

3 Kameraların bağlanması/bağlantısının kesilmesi Raspberry Pi 5 kapalıyken yapılmalıdır Biraz daha zamana ihtiyacınız varsa bunu daha yüksek bir değerle değiştirin

  • libcamera-merhaba: Kamerayı başlatır, kameranın görebildiği şeyin önizleme penceresini görüntüler ve ardından kapanır capture_file("cam1

    (İmaj kredisi: Tom’un Donanımı)

    Uyarlanmış kablolar esasen 22 pimli bağlantıyı 15 pime kadar yoğunlaştırır

    Çift konnektörleri kolaylaştırmak için Raspberry Pi 5, normal 22 pinli yerine 15 pinli düz esnek kablolar kullanıyor

    Libcamera ile Fotoğraf Çekmek

    Resim 1 ile ilgili 2

    (İmaj kredisi: Tom’un Donanımı) (İmaj kredisi: Tom’un Donanımı)

    Libcamera uygulamasının resim / video yakalamak için birkaç farklı yolu vardır İlki picam0’dır Nesneleri kullanarak her kamera için bir önizleme penceresi başlatın

  • libcamera-ham: Ham Bayer karelerini doğrudan kameradan kaydeder; önizleme penceresi yoktur Kablonun altın pinlerinin Ethernet bağlantı noktasına baktığını unutmayın Her iki kameranın da düzgün çalışıp çalışmadığını kontrol edin Varsayılan olarak komut beş saniyelik bir önizleme gösterecektir stop() picam0 capture_file("cam0

    (İmaj kredisi: Tom’un Donanımı)

    Pimoroni’nin bu adaptörü, 22 pinli düz esnek kabloyu 15 pinli kabloya bağlar

    picam0 Varsayılan olarak komut beş saniyelik bir önizleme gösterecektir

    Bu nasıl yapılır, çift kamerayla fotoğraf çekmek için her ikisini de nasıl kullanacağımızı öğreneceğiz

    Kameraları Raspberry Pi 5’e Bağlama

    1 Bunun yerine çıkmak için önizleme penceresini kapatmamız gerekiyor Biri CAM0’da, diğeri CAM1’de

    1

    (İmaj kredisi: Tom’un Donanımı)

    3 Önizleme pencerelerini kapatın Birincisi çıktı dosyasının adı, ikincisi kamera, üçüncüsü ise çekimi çerçevelememiz için bize zaman vermek üzere beş saniyelik bir gecikme (5000 ms) ayarladık Raspberry Pi 5’i kapatın ve güç kablosunu çıkarın Daha sonra her kameraya başlamasını, bir önizleme penceresi yüklemesini, bir çekimi çerçevelememiz için bize zaman vermesini söylüyoruz, ardından kamera görüntüleri JPEG formatında yakalıyor Temel olarak kamera projeleri için “Merhaba Dünya”dır

    picam0 İlk amacımız kameraların düzgün çalıştığını kontrol etmek ve bunun için libcamera terminal komutunu kullanarak kameraları kullanabildiğimizi ve çıktıyı görebildiğimizi kontrol edeceğiz -t 0 kullanıldığında önizleme penceresi otomatik olarak kapanmaz Boş belgede Python kodunun iki modülünü içe aktarın Kameranın Raspberry Pi 5’e, özellikle de GPIO’ya temas etmediğinden emin olun
  • libcamera-hareketsiz: Libcamera-jpeg’e benzer ancak eski “raspistill” komutunda bulunan özelliklerin çoğunu destekler İkinci modül ise zamandır, özellikle de kodu duraklatmak için kullanılan uyku fonksiyonudur Bu komutlar, işlemi otomatikleştirmek için bir Bash betiğinde de kullanılabilir

    Bu Proje İçin İhtiyacınız Olanlar

    Kameraları Bağlama

    Raspberry Pi 5, Raspberry Pi form faktörüne birden fazla kamera (CSI) konektörü sunar CAM 0’a bağlı kamerayı kullanmak için ikinci bir terminal açın ve bu komutu girin

    2 QTGL) picam1 Klip kırılgandır, bu yüzden dikkatli olun! Yukarı doğru hareket edecek, sonra duracak ve bir tarafa eğilecektir stop()

    9 Raspberry Pi Hesaplama Modülü IO kartları uzun süredir birden fazla kamerayı desteklemektedir, ancak Raspberry Pi 5 bunları destekleyen ilk “Model B” kartıdır

    picam0

    picam0 = Picamera2(0) picam1 = Picamera2(1)

    4 Bu bize kamera çekimlerini çerçevelemek için zaman kazandırır QTGL) picam1 Bunlardan ilki Python ile kameralar arasındaki arayüzümüz olan Picamera2’dir

    libcamera-jpeg -o cam0 Kameraları durdurun Amazon’dan 10 dolardan daha düşük bir fiyata bir avuç dolusu aldık CAM 1’e bağlı kamerayla görüntü çekmek için bir terminal açın ve bu komutu girin Peki kameraları nasıl kontrol edeceğiz?

    Daha önceki bir Raspberry Pi OS sürümünde tanıtılan libcamera ve Picamera2, kameraları kontrol etmenin iki farklı yoludur

    libcamera-hello –camera 0 -t 0

    2

    picam0 Ucuzdurlar ve birden fazla uzunlukta gelirler Her kameradaki görüntüleri bir JPEG görüntüsüne yakalayın

Her kamerada bir görüntü yakalamak için libcamera-jpeg’i kullanacağız Önizleme pencerelerini kapatın Birincisi kullanmak istediğimiz kamera, ikincisi ise gecikme zamanlayıcısı start() picam1 Masaüstünde iki önizleme penceresi görmelisiniz Temel olarak Python kodunda her kamerayı kontrol etmek için kullandığımız iki nesne yaratıyoruz jpg") picam0

Picamera2’yi Kullanarak Aynı Anda İki Fotoğraf Çekin

(İmaj kredisi: Tom’un Donanımı)

Picamera2 Python modülünü kullanarak Raspberry Pi 5’in çift kamera konnektörleri sayesinde aynı anda iki görüntü çekebiliyoruz Bu nedenle kameralarımızın çalıştığını test etmek için kullandık Bu daha küçük konektörler Raspberry Pi Zero ile birlikte tanıtıldı ve kameralarınızı bağlamak için adaptörler kolayca temin edilebilir

4 jpg –camera 0 -t 5000

2 Görüntüler artık komutların çalıştırıldığı dizine kaydediliyor Libcamera kamerayı terminal aracılığıyla kullanmaya odaklanırken, Picamera2 tamamen Python’la ilgili Tırnak veya plastik bir alet kullanarak tespit klipslerini yavaşça kaldırın

1 CAM 0’a bağlı kamerayla görüntü çekmek için bir terminal açın ve bu komutu girin Aksi takdirde Pi’ye ve kameraya zarar verme riskiyle karşı karşıya kalırsınız start_preview(Preview start_preview(Preview QTGL) picam0 jpg")

8

Yeni Raspberry Pi 5, amiral gemisi Raspberry Pi’de ilk kez çift kamera konektörlerini sunuyor Birincisi kullanmak istediğimiz kamera, ikincisi ise gecikme zamanlayıcısı Tüm resmi Raspberry Pi kameraları 22 pinli konnektörü kullandığından bir adaptör veya uyarlanmış bir kablo kullanmanız gerekecektir Kameraların 15 pinli düz esnek kablosunu konektörlere takın Picamera2 fonksiyonunu 0 argümanıyla çağırmak, kamera konnektörünü CAM0’a kullanmak istediğimizi belirtir Komutun iki argümanı var Birincisi çıktı dosyasının adı, ikincisi kamera, üçüncüsü ise çekimi çerçevelememiz için bize zaman vermek üzere beş saniyelik bir gecikme (5000 ms) ayarladık

  • libcamera-jpeg: Görüntüleri bir jpeg dosyasına yakalar CAM 0’a bağlı kamerayı kullanmak için bir terminal açın ve bu komutu girin Çok sayıda 22 pinli kablonuz varsa bu adaptörü 15 pinli kısa bir kabloyla kullanmak, kameranızı bağlamak için esnek bir yol sunacaktır Daha sonra kameralarla olan bağlantıyı kapatıyoruz ve önizleme pencerelerini kapatıyoruz Bunun yerine çıkmak için önizleme penceresini kapatmamız gerekiyor Komutun üç argümanı var Komutun iki argümanı var

    libcamera-hello –camera 1 -t 0

    3 İkinci nesne picam1’dir ve CAM1’e bağlı kamerayı kullanır stop_preview() Ayrıca, görüntü çekilmeden önce çekimin ön izlemesini yapmak için kullanılan Önizleme işlevini de içe aktarıyoruz

    (İmaj kredisi: Tom’un Donanımı)

    Kameraları Libcamera ile Test Etme

    (İmaj kredisi: Tom’un Donanımı)

    Artık Raspberry Pi 5’imize bağlı iki kameramız var start()

    6

    sleep(10)

    7 start_preview(Preview Bu, kameradan canlı yayın göstermek için önizleme pencerelerini tetikleyecektir

    1 Kameraları başlatın QTGL)

    5

  • libcamera-vid: Bir h264 kapsayıcısına video çeker start() picam1 Dosya yöneticisini kullanarak görüntüleri açın

    (İmaj kredisi: Tom’un Donanımı)

    4

    libcamera-jpeg -o cam1

    picam0 stop_preview()

    Tam Kod Listesi: Python ile Çift Kameralar

    from picamera2 import Picamera2, Preview from time import sleep picam0 = Picamera2(0) picam1 = Picamera2(1) picam0 Komutun üç argümanı var capture_file("cam0 -t 0 kullanıldığında önizleme penceresi otomatik olarak kapanmaz İstediğiniz çekimi elde etmek için kameraları hareket ettirin jpg –camera 1 -t 5000

    3 Ana menüden Programlama >> Thonny’yi seçin start() sleep(10) picam0 capture_file("cam1 stop() picam1 jpg") picam1 jpg") picam1 Bu, Raspberry Pi 5’e iki kamera (veya bir kamera ve ekran veya iki ekran) bağlayabileceğimiz anlamına gelir stop_preview() picam1 Kodu on saniye duraklatın stop() picam1 İki kamerayı temsil eden iki nesne oluşturun