Linux komutları ile fiziksel programlama - 3: Midep kartına kamera bağlantısı

Seviye: resimresimresim

MİDEP kartınıza kamera donanımını 2 şekilde yapabilirsiniz.

  1. USB portu

  2. CSI (Camera Serial Interface) portu

USB kameraları MİDEP kartınıza bağlamak herhangi bir bilgisayara kamera bağlamaktan farksızdır. Bu bölümde ise MİDEP kartının CSI portuna kamera bağlayacak ve görüntü alacağız.

CSI portu MİDEP kartının üst bölümünde yer almaktadır.

resim

Kamera modülü

MIDEP kartına Googel Coral 5 megapiksel kamera modülü MIPI-CSI arabirimi üzerinden bağlanır. Kamera modülüne ait bazı özellikler şunlardır.

  • Sensör: Omnivision OV5645 SoC (ISP’de yerleşik)

  • Odak: otomatik odak, odak uzaklığı 2.5 mm, aralık 10 cm-sonsuz

  • Görüş Alanı: 84.0 derece / 87.6 derece

  • ISP İşlevleri: otomatik pozlama kontrolü, Otomatik beyaz dengesi, otomatik bant filtresi, otomatik 50 / 60Hz aydınlatma, otomatik siyah seviye kalibrasyonu

resim

Kamera modülünün CSI portuna bağlantısı

Kamera modülünü CSI portuna bağlarken aşağıdaki adımları izleyebilirsiniz.

CSI portunun ön tarafındaki siyah plastiği nazikçe bir miktar kendinize doğru çekin.

resim

resim

Kamera bağlantısının mavi yüzü üst tarafa bakacak şekilde CSI soketine yerleştirin.

resim

Plastik kapağı yuvasına doğru nazikçe bastırın

resim

Kameradan görüntü almak ve görüntü ayarları

Kamera bağlantınızı gerçekleştirdikten sonra görüntü almak için aşağıdaki komutu terminal penceresine girin. Bu komut ile CSI portunuza bağlı kameranın görüntüsü ekrana yansıtılacaktır.

gst-launch-1.0 v4l2src device=/dev/videoX ! autovideosink

Görüntünün çözünürlüğünü ve framerate’i değiştirmek için aşağıdaki komut kullanılır.

gst-launch-1.0 v4l2src ! video/x-raw, width=<WIDTH>, height=<HEIGHT>, framerate=<FRAMERATE> ! autovideosink

Örnek; çözünürlüğü HD olarak ayarlamak istersek aşağıdaki komutu girebiliriz.

gst-launch-1.0 v4l2src ! 'video/x-raw,framerate=30/1,width=1280,height=720' ! autovideosink

Frame rate’i 60 fps olarak değiştirmek için ise aşağıdaki komut girilir.

gst-launch-1.0 v4l2src ! 'video/x-raw,framerate=60/2,width=1280,height=720' ! autovideosink

Resim dosyası açmak

linux terminal penceresini kullanarak herhangi bir .png resim dosyasını açmak için;

gst-launch-1.0 filesrc location=<output_image>.png ! pngdec ! imagefreeze ! videoconvert ! autovideosink

,jpg dosyası açmak için ise,

gst-launch-1.0 -v filesrc location=<output_image>.jpeg ! jpegdec ! imagefreeze ! videoconvert ! autovideosink

Komutları girilir. <output_image> kısmına aradığınız dosya yolunu yazabilirsiniz.

Resim çekmek

.jpg formatında resim çekmek için

gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=capture.jpg

.png formatında resim çekmek için

gst-launch-1.0 v4l2src num-buffers=1 ! pngenc ! filesink location=capture.png

.jpeg formatında resim çekmek için

gst-launch-1.0 v4l2src num-buffers=1 ! jpegenc ! filesink location=capture.jpeg

Yukarıdaki komutlarda çekilen resim location kısmında verilen klasör ve dosya adıyla kaydedilir.

Video kaydetmek

Aşağıdaki komut çalıştırıldığında kamera çektiği görüntüyü recording.mkv dosyasına kaydeder.

gst-launch-1.0 -e autovideosrc ! videoconvert ! matroskamux ! filesink location=recording.mkv