Reading, Writing Videos and Accessing Camera

Kategori: Python / OpenCV , 30 Eylül 2019 , JanFranco


Bir önceki yazımda resimleri nasıl okuyacağımızı, göstereceğimiz ve kaydedeceğimizi görmüştük. Bu yazımda aynı işlemleri videolar için yapacağız. Direk kodu paylaşayım ve kod üzerinden açıklayarak gidelim:


vid = cv2.VideoCapture('video.mp4')
fourcc = cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')
out = cv2.VideoWriter('new_video.mp4', fourcc, 20.0, (640,480))

while(True):
    val,fps = vid.read()
    if val == True:
        cv2.imshow("sokak", fps)
        k = cv2.waitKey(1) & 0xFF
        out.write(fps)
        if k == ord("a"):
            break
    else:
        break

vid.release()
out.release()
cv2.destroyAllWindows()
VideoCapture() methodu ile videoyu import ettik ve vid değişkenine atadık. Eğer videodan değil de kameradan görüntü almak istiyorsak parametre olarak 0 girmeliyiz. Daha sonra while döngüsü açtık ve read fonksiyonundan dönen validation değeri ve fps değerini val, fps değerlerine atadık. validation değeri, eğer video sorunsuz okunursa True olur. Aksi halde false olur. Burada eğer bu değer True ise imshow fonksiyonu ile kareleri ekrana bas dedik. Daha sonra waitKey fonksiyonu ile a tuşuna basılma durumunda videoyu durdurduk.

Yazma işlemi için fourcc adında bir değişken tanımladık ve VideoWriter_fourcc fonksiyonuna bir codec atadık. VideoWriter fonksiyonunu kullanarak bir yazma işlemi yapacağımızı söyledik. Bu fonksiyon ilk parametresine video ismini veya tam yolunu, ikinci parametresine codec değerini, üçüncü paremtresine fps hızını, son parametresine ise video boyutlarını alır. Daha sonra while döngüsünün içinde write fonksiyonu ile aldığımız fps'leri kareleri out değişkenine yazdık. Son olarak döngüden çıkınca out.release() diyerek video yazma işlemimizi sonlandırdık.


Sonraki Yazı: Drawing Shapes, Line, Circle, Rectangle
Yorumlar

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