Merhaba, bugün Raspberry Pi Kamera modülünün ileriki projelerimizde kullanmak üzere kurulumunu yapacağız, daha sonra ise efektler uygulayarak kameramızın çekim modlarını test edeceğiz.
Bu projemizde kullanacağımız ekipmanların listesi şöyle:
Malzeme Listesi
- Raspberry Pi (2 veya daha üstü)
- Pi Kamera v2
Pi Kameranın Teknik Özellikleri
- Yüksek kaliteli görüntü algılama
- Büyük veri işleme kapasitesi
- 8 megapiksel sabit odak noktalı
- 1080p, 720p60 ve VGA90 destekli
- Sony IMX219PQ CMOS görüntü algılayıcı
Pi Kamera Kurulumu ve Yapılandırma Ayarları
İlk önce kameramızı resimde olduğu gibi, ribbon kablonun pin olan tarafı soketin beyaz kısmına bakacak şekilde bağlayalım ve soketin başlığını oturtalım.
Daha sonra Raspberry Pi’ ya güç verelim ve terminalde aşağıdaki kodu çalıştıralım.
sudo raspi-config
Bu kod bizi “Raspberry Pi Konfigürasyon” kısmına götürecek ve karşımıza şöyle bir ekran gelecek.
Şimdi “Interface Options” yani “Arayüz Ayarları” na tıklayalım ardından “Camera” kısmından Pi kameramızı aktifleştirelim ve sonrasında değişiklikleri uygulamak üzere Raspberry Pi sistemini yeniden başlatalım.
reboot
Terminal Üzerinden Pi Kamera Kontrolü
İlk testimizi yapmak için aşağıdaki kodu terminalde çalıştıralım.
raspistill -o Desktop/image.jpg
Bu kod ile kameramızı kullanarak ilk fotoğrafımızı çekmiş olduk. Çektiğimiz fotoğraf masaüstüne “image.jpg” olarak kaydedildi.
Eğer isterseniz aşağıdaki komut ile ilk test videounuzu çekebilirsiniz.
raspivid -o Desktop/video.h264
Peki “Pi Kamera” sadece bu şekilde mi kontrol edilebilir. Tabii ki hayır. İsterseniz kameranızı Python kodu ile de kontrol edebilir hatta “PiCamera” modülünün sunduğu birçok özellikten de yararlanabilirsiniz.
Python ile Pi Kamera Kontrolü
Öncelikle Python üzerinden kameramıza erişmek için “PiCamera” modülünü yükleyelim.
sudo apt-get install python-picamera
Şimdi herhangi bir Python IDE’sinden yeni bir dosya oluşturalım ve kodlarımızı yazalım.
Pyhton Kullanarak Resim Çekmek
from picamera import PiCamera #modülümüzü ekledik
import time
camera = PiCamera() #kameramızı tanımladık
camera.start_preview() #kamera ön izlemeni açtık
time.sleep(3) #ön izlemenin açılması için 3 saniye bekledik.
camera.capture('/home/pi/Desktop/deneme.jpg') #fotoğraf çektik ve dizine kaydettik
camera.stop_preview() #ön izlemeyi durdurduk.
Yazdığımız kod sonucunda kameramız aracılığı ile bir fotoğraf çektik ve fotoğrafı masaüstüne kaydettik.
NOT: Eğer Raspberry Pi direkt monitöre bağlı değilse (SSH ya da VNC kullanıyorsanız) maalesef canlı ön izleme gerçekleştiremiyoruz.
Eğer çektiğiniz resmin çok bulanık olduğunu düşünüyorsanız aşağıdaki gibi yuvarlak çerçeveyi döndürerek kameranızın odak uzaklığını değiştirebilirsiniz.(Örnekte kullanılan kamera NOIR kamera olup, bu projemizde kullandığımız kamera değildir. Örnek teşkil etmesi için bu fotoğrafı kullandım.)
Şimdi de Python kodu ile kısa bir video çekelim.
Pyhton Kullanarak Video Çekmek
from picamera import PiCamera #modülümüzü ekledik
import time
camera = PiCamera() #kameramızı tanımladık
camera.start_preview()
time.sleep(3)
camera.start_recording('/home/pi/Desktop/video.h264')
time.sleep(5) #5 saniyelik bir video çektik.
camera.stop_recording()
camera.stop_preview()
Pi Kamera ve Python kullanarak nasıl fotoğraf ve video çekildiğini öğrendiğimize göre biraz da “PiCamera” modülünün derinlerine inip, resimlerimize filteler uygulayabilir, hatta yazı yazabiliriz.
“PiCamera” Modülü ile Resme Yazı Yazmak
Öncelikle çekeceğimiz resmimizin tam orta üst kısmına bir yazı yazdıralım.
from picamera import PiCamera #modülümüzü ekledik
import time
camera = PiCamera() #kameramızı tanımladık
camera.resolution = (2592, 1944) #maksimum çözünürlüğe ayarladık
camera.framerate = 15
camera.start_preview()
time.sleep(5)
camera.annotate_text = "Yazi!" #Türkçe karakterlerin desteklenmediğini unutmayalım
camera.annotate_text_size = 50 #yazı boyutu (6-160)
camera.capture('/home/pi/Desktop/text1.jpg')
camera.stop_preview()
Şimdi de yazımızın arka font ve rengini değiştirmek için düzenlemeler yapabiliriz.
from picamera import PiCamera,Color #modülümüzü ekledik
import time
camera = PiCamera() #kameramızı tanımladık
camera.start_preview()
time.sleep(5)
camera.annotate_background = Color('blue') #yazımızın arkaplanı mavi
camera.annotate_foreground = Color('yellow') #yazımızın rengi sarı
camera.annotate_text = " Yazi! "
camera.annotate_text_size = 50 #yazı boyutu
camera.capture('/home/pi/Desktop/text2.jpg')
camera.stop_preview()
Ben 3D yazıcıdan çıkardığım 3 modelin resmini Pi Kamera ile çektim ve yaptığım denemelerde şöyle sonuçlar aldım.
Şimdi de kameramızın pozlama, efekt ve parlaklık modlarına göz atabiliriz.
“PiCamera” Modülü ile Parlaklık, Efekt ve Pozlama Modları
İlk önce parlaklıkla ilgili düzenlemeler yapalım.
from picamera import PiCamera,Color #modülümüzü ekledik
import time
camera = PiCamera() #kameramızı tanımladık
camera.start_preview()
camera.brightness = 70 #parlaklık (0-100)
time.sleep(5)
camera.capture('/home/pi/Desktop/resim3.jpg')
camera.stop_preview()
Şimdi resim efektleriyle ilgili bir örnek yapalım. (Tüm resim efektlerinin listesi:none ,negative ,solarize ,sketch ,denoise ,emboss ,oilpaint, hatch ,gpen,pastel ,watercolor ,film ,blur ,saturation ,colorswap ,washedout ,posterise,colorpoint ,colorbalance ,cartoon ,deinterlace1, deinterlace2)
from picamera import PiCamera,Color #modülümüzü ekledik
import time
camera = PiCamera() #kameramızı tanımladık
camera.start_preview()
camera.image_effect = 'colorswap' #resim efekti ismi
time.sleep(5)
camera.capture('/home/pi/Desktop/resim4.jpg')
camera.stop_preview()
Şimdi de pozlama efektlerine bakalım. (Tüm pozlama efektleri listesi: off,auto ,night ,nightpreview ,backlight ,spotlight ,sports ,snow ,beach, verylong ,fixedfps ,antishake ,fireworks)
from picamera import PiCamera,Color #modülümüzü ekledik
import time
camera = PiCamera() #kameramızı tanımladık
camera.start_preview()
camera.exposure_mode = 'beach' #pozlama efekti ismi
time.sleep(5)
camera.capture('/home/pi/Desktop/resim5.jpg')
camera.stop_preview()
Çekim modları hakkında daha fazla bilgi için tıklayınız.
Ben 3D yazıcıdan çıkardığım 3 modelin resmini Pi Kamera ile çektim. Pozlama, efekt ve parlaklık modlarını değiştirerek yaptığım denemelerde şöyle sonuçlar aldım.
Sonuç
Bu projemizde ” Raspberry Pi Kamera” modülü ile resim ve video çekmeyi ayrıca pozlama ve efekt gibi birçok resim modunun nasıl kullanıldığını öğrendik. Tabii ki Pi Kamera ile yapılabilecek projeler bu konuyla sınırlı değil.
Bir sonraki projemizde bu kamerayı daha kompleks bir projede kullanacağız. Pi Kamera ile OpenCV’ ye giriş yapacak, yapay zeka ile yüz tespit sistemi kuracağız. Kısacası bugünkü dersimiz için büyük projelerin temelini attık diyebiliriz.
Görünen o ki bir projemizin daha sonuna geldik. Başka bir projede görüşmek üzere…
#ProjeBaşlasın
Furkan Bakkal
Merhaba,
sudo apt-get install raspistill bu komutunu yazdığımda “E: raspistill package not found” şeklinde hata alıyorum.
Yardımcı olabilir misiniz?
Eğer işletim sisteminin son sürümünü (Bullseye) kullanıyorsanız “raspistill” yerine “libcamera” komutunu kullanmanız gerekiyor. Ama ben aşağıdaki versiyonu kullanmanızı öneririm. İnternette okuyacağınız çoğu kaynak aşağıdaki versiyonla uyumludur.
Raspbian : https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-05-28/
Bullseye için kamera komutları: https://www.raspberrypi.com/documentation/accessories/camera.html#libcamera-and-libcamera-apps
PROBLEM IN THONNY’S BACK-END: Exception while handling ‘Run’ (UnicodeEncodeError: ‘utf-8’ codec can’t encode character ‘\udcfc’ in position 36: surrogates not allowed).
See Thonny’s backend.log for more info.
Process ended with exit code 1.
böyle bir hata almaktayım yardımcı olursan sevinirim