Python OpenCV Resim-Video-Webcam Okuma ve Boyutlandırma

Merhaba. Bu yazımda, Python OpenCV ile resim, video ve webcam yani kameradan görüntü nasıl okunur/işlenir onu anlatacağım.

OpenCV nedir ve nerelerde kullanılır öğrenmek için makaleme göz atabilirsiniz.

1) pip ile Kurulum 🛠

OpenCV kurulu olmayanlar aşağıdaki pip yükleme komutunu yazarak hızlıca kurabilir.

pip install opencv-python

2) Resim Okumak 🖼

import cv2

resim = cv2.imread("Desktop/ferditayfur.jpg")
cv2.imshow("Ferdi Tayfur", resim)

cv2.waitKey(0)

Kodları yorumlayalım.

  1. ilk satır da hiç değişmez kural olarak import ediyoruz. Fakat bazen hata verebiliyor. import hatası alan kişiler from cv2 import cv2 şeklinde import ederse hatayı gidereceklerdir.
  2. cv2.imread() varsayılan olarak kullanılan resim okuma metodudur. Resmi okutmak için dosya yolunu ve adını yazmanız yeterlidir.
  3. cv2.imshow() görüntüyü ekranda görüntüleme metodudur.
  4. cv2.waitKey() Görüntünün ne kadar sürede ekranda kalacağını belirliyor. Değerin 0 olması sonsuzu temsil ediyor. Eğer siz 0 yerine 1000 yazarsanız 1 saniye ekranda kalıp kapanacaktır.

Resim boyutu büyük olduğu için ekranı kaplayabilir veya sizi rahatsız edebilir. Kısaca resize() metodundan da örnek göstermek isterim.

import cv2

yukseklik = 640
genislik = 360

resim = cv2.imread("Desktop/ferdi.jpg")

resim = cv2.resize(resim, (genislik, yukseklik))

cv2.imshow("Ferdi Tayfur", resim)

cv2.waitKey(0)

imread ile resimi okutup, resize metodunda yeniden boyutlandırabiliriz. Bu işlem tüm görüntü işlemlerinde geçerlidir ve kurtarıcı rolünü oynar 🙂

3) Video ve Kamera Görüntüsü Okumak 🎞

import cv2

video = cv2.VideoCapture("Desktop/video.mp4")

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

    if not ret:
        break

    cv2.imshow("Video", frame)
    
    if cv2.waitKey(1) == ord('q'):
        break

video.release()

Kodları yorumlayalım.

  1. cv2.VideoCapture() metodunda video veya webcam yani kamera okutulur. Ben örnekte video okuttum, eğer siz kamera okutmak istiyorsanız parantez içine 0 yazmanız yeterlidir. Örn: cv2.VideoCapture(0) | Sisteme bağlı olan ilk kamerayı döndürür. Eğer kamerayı çalıştırmadıysa 1 yazıp deneyin.
  2. Görüntü oynayabilmesi için döngü olması gerekiyor. while döngüsü bu işin piridir.
  3. video.read() True ve False döndürür. Yani True olduğu sürece program çalışacaktır. False olursa yani video bağlantısı kesildiğinde veya video bittiğinde if not ret: bloğuna düşüp döngüden hatasız şekilde çıkacaktır.
  4. q tuşuna bastığınızda döngüden çıkar. q yerine istediğiniz tuşu yazabilirsiniz.

OpenCV Örneklerime bakmak için tıklayın.

📌 OpenCV ile ilgili tüm içeriğe buradan ulaşabilirsiniz. Bir başka yazıda görüşmek üzere. 🙋‍♂️