Camera

Kategori: Computer Vision , 26 Ocak 2020 , JanFranco


Bu yazımızda OpenCV kütüphanesini kullanarak Python üzerinden bilgisayarın kamerasına bağlanacağız. Hem kamerayı göstereceğiz hem de görüntüleri kaydedeceğiz. Kameradan görüntü almak için cv2.VideoCapture methodunu kullanacağız:


import cv2

cap = cv2.VideoCapture(0)
VideoCapture methodunun parametresine dosya ismi vermek yerine 0 yazarsak bilgisayarımızın kamerasına bağlanırız. Yükseklik, genişlik değerlerini alalım ve bir recorder tanımlayalım:


width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
recorder = cv2.VideoWriter('capture.mp4', cv2.VideoWriter_fourcc(*'VIDX'), 20, (width, height))
Eğer Windows kullanıyorsak VIDX doğru formattır. Linux veya MacOs kullanıyorsak XDIV doğru formattır. 20 parametresi FPS değeridir. Videolar basit olarak resimlerin arka arkaya birleştirilmiş halidir. read methodu ile kameradan görüntüleri while döngüsü içinde alıp, q tuşuna basılana kadar gösterebiliriz. Aynı şekilde write methodu ile de kaydedebiliriz:


while True:
    _, frame = cap.read()
    cv2.imshow("Camera", frame)
    recorder.write(frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

recorder.release()
cap.release()
cv2.destroyAllWindows()
Kaydettiğimiz videoyu izleyelim:


import time

cap = cv2.VideoCapture('capture.mp4')

if not cap.isOpened():
    print("Error")

while True:
    ret, frame = cap.read()

    if ret:
        time.sleep(1/20)
        cv2.imshow("Camera", frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()
Burada time.sleep methodunu kullanarak FPS hızını düşürdük.


Sonraki Yazı: Drawing on Camera
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın