Görüntü Formatları ve Yükleme

Görüntü Formatları ve Yükleme

Ock 21, 2025 - 20:13
Ock 21, 2025 - 20:14
 0  3
Görüntü Formatları ve Yükleme

Görüntü Formatları ve Yükleme

Bu dersin amacı, katılımcılara farklı görüntü formatlarını tanıtmak, Python ile bu formatlarda görüntülerin nasıl yükleneceği ve işleneceği hakkında bilgi vermek ve RTSP (Real-Time Streaming Protocol) akışlarını nasıl yükleyeceklerini öğretmektir. Ayrıca, dersin sonunda katılımcılar, çeşitli görüntü formatlarını nasıl işleyip görselleştireceklerini uygulamalı bir şekilde öğrenmiş olacaklardır. Aşağıda, dersin içeriği detaylı bir şekilde açıklanmıştır.

1. Yaygın Görüntü Formatları: JPEG, PNG, BMP, TIFF gibi Dosya Formatlarının Açıklanması

Görüntülerin farklı formatlarda saklanması, kullanılan alan ve kalite açısından önemli farklar yaratabilir. Bu bölümde, popüler görüntü formatlarının özellikleri ve hangi durumlarda kullanıldıkları anlatılır.

  • JPEG (Joint Photographic Experts Group):

    • Kullanım Alanı: En yaygın kullanılan resim formatlarından biridir, özellikle fotoğraflarda ve renkli görüntülerde kullanılır.

    • Özellikler: JPEG, kayıplı sıkıştırma kullanır, yani dosya boyutunu küçültmek için bazı detaylardan feragat edilir. Bu, dosya boyutunun küçük olmasını sağlasa da, çok yüksek kalite kayıplarına yol açabilir.

    • Avantajları: Küçük dosya boyutları, web ve medya paylaşımı için idealdir.

    • Dezavantajları: Görüntü üzerinde çok fazla düzenleme yapıldığında kalite kaybı olabilir.

  • PNG (Portable Network Graphics):

    • Kullanım Alanı: Özellikle şeffaflık ve grafiklerde tercih edilir. Web tasarımı ve dijital grafiklerde yaygın olarak kullanılır.

    • Özellikler: PNG kayıpsız sıkıştırma kullanır, yani görüntü kalitesi kaybolmaz.

    • Avantajları: Şeffaflık desteği ve kayıpsız sıkıştırma.

    • Dezavantajları: JPEG’e göre daha büyük dosya boyutlarına sahip olabilir.

  • BMP (Bitmap):

    • Kullanım Alanı: Düşük sıkıştırma oranı nedeniyle daha az tercih edilir, ancak yüksek kaliteli görüntüleri saklamak için kullanılır.

    • Özellikler: Kayıpsız sıkıştırma kullanır ancak dosya boyutları oldukça büyüktür.

    • Avantajları: Basit yapısı ve yüksek kaliteli görüntüler.

    • Dezavantajları: Büyük dosya boyutları ve verimli olmayan sıkıştırma.

  • TIFF (Tagged Image File Format):

    • Kullanım Alanı: Yüksek kaliteli taramalar, dijital fotoğrafçılık ve profesyonel görüntü işleme alanlarında yaygın olarak kullanılır.

    • Özellikler: TIFF, kayıpsız sıkıştırma ve çok katmanlı görüntüleri destekler.

    • Avantajları: Yüksek kalite, katmanlı görüntüler ve esneklik.

    • Dezavantajları: Çok büyük dosya boyutları ve yaygın olmayan destek.

  • GIF (Graphics Interchange Format):

    • Kullanım Alanı: Animasyonlu görüntüler için kullanılır.

    • Özellikler: 256 renk destekler ve animasyonlu görüntüler yaratmak için uygundur.

    • Avantajları: Web için uygun ve animasyonları destekler.

    • Dezavantajları: Renk sayısının sınırlı olması ve kayıplı sıkıştırma.

2. Python ile Farklı Formatlarda Görüntülerin Yüklenmesi ve İşlenmesi

Python, çeşitli görüntü formatları ile çalışabilen güçlü bir kütüphane olan OpenCV ve Pillow’yu (PIL) kullanarak farklı formatlardaki görüntüleri yükleyip işleyebilir. Bu bölümde, katılımcılara Python kullanarak çeşitli görüntü formatlarının nasıl yükleneceği ve üzerinde nasıl işlem yapılacağı anlatılır.

OpenCV ile Görüntü Yükleme (cv2.imread): OpenCV, yaygın görüntü formatlarını (JPEG, PNG, BMP, TIFF vb.) yüklemek için cv2.imread() fonksiyonunu kullanır. Bu fonksiyon, bir görüntü dosyasını okur ve NumPy dizisine dönüştürür.

import cv2

image_jpeg = cv2.imread('image.jpg')  # JPEG formatındaki görüntüyü yükler

image_png = cv2.imread('image.png')   # PNG formatındaki görüntüyü yükler

image_bmp = cv2.imread('image.bmp')   # BMP formatındaki görüntüyü yükler

 

Yüklenen Görüntülerin Gösterilmesi: Görüntüleri ekranda göstermek için cv2.imshow() fonksiyonu kullanılır:
cv2.imshow('JPEG Görüntü', image_jpeg)

cv2.imshow('PNG Görüntü', image_png)

cv2.imshow('BMP Görüntü', image_bmp)

cv2.waitKey(0)

cv2.destroyAllWindows()

 

Pillow (PIL) ile Görüntü Yükleme: Pillow, daha fazla format desteği sunar ve bazı ek işlevler sağlar. Pillow ile de benzer şekilde görüntüler yüklenebilir.

from PIL import Image

image_tiff = Image.open('image.tiff')  # TIFF formatındaki görüntü

image_gif = Image.open('image.gif')    # GIF formatındaki görüntü

image_tiff.show()                       # Görüntüyü gösterir

 

Görüntü Formatı Dönüştürme: Python ile, bir görüntü formatını başka bir formata dönüştürmek oldukça kolaydır. Pillow kütüphanesi ile bu dönüşüm yapılabilir:

image = Image.open('image.png')

image.convert('RGB')  # Renk uzayını değiştirebiliriz

image.save('new_image.jpg')  # PNG’yi JPEG formatına dönüştürür

 

3. RTSP Akışları: IP Kameralarından Gelen Video Akışlarının (RTSP) Yüklenmesi

  • RTSP Nedir? RTSP (Real-Time Streaming Protocol), medya akışlarını (ses, video) internet üzerinden iletmek için kullanılan bir protokoldür. IP kameralar ve diğer video akış cihazları genellikle RTSP kullanır.

  • RTSP Akışları ile Görüntü Alma: OpenCV, RTSP akışlarını alabilmek için kullanışlı bir araçtır. Bir IP kameradan veya herhangi bir RTSP kaynağından video akışı almak için cv2.VideoCapture() fonksiyonu kullanılır.

    • RTSP URL’si bir IP kameraya bağlanmak için kullanılır. Bu URL genellikle şu formatta olur: rtsp://.

Örnek:
cap = cv2.VideoCapture('rtsp://username:password@192.168.1.100:554/stream')

while True:

    ret, frame = cap.read()

    if not ret:

        break

    cv2.imshow('RTSP Akışı', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):

        break

cap.release()

cv2.destroyAllWindows()

 

  • RTSP Akışı ile Görüntü İşleme:

    • RTSP video akışları üzerinde tıpkı sabit görüntüler gibi işleme yapılabilir. Örneğin, her bir video karesi üzerinde çeşitli görüntü işleme işlemleri (gri tonlama, kenar algılama, yüz tanıma vb.) yapılabilir.

gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

 

4. Uygulamalı: Görüntü Formatlarını Yükleme ve Görselleştirme

Katılımcılar, farklı formatlarda görüntüleri yükleme ve görselleştirme işlemini yapacaklardır. Bu bölümde, katılımcılar aşağıdaki adımları takip ederek pratik yapacaklardır:

  • Farklı formatlarda (JPEG, PNG, BMP, TIFF vb.) görüntü dosyalarını yükleme ve her birini ekranda görselleştirme.

  • Pillow veya OpenCV kullanarak görüntülerin formatlarını dönüştürme.

  • RTSP akışı üzerinden gelen video görüntüsünü yükleyip göstermek.

  • Görüntüler üzerinde temel işleme (örneğin, gri tonlama, boyut değiştirme) uygulama.

Bu işlem, öğrencilerin görüntü formatları ile çalışırken karşılaşabilecekleri çeşitli zorlukları aşmalarına yardımcı olur.

Ders Sonunda Beklenen Çıktılar:

  • Katılımcılar, yaygın görüntü formatları hakkında bilgi sahibi olacaklar ve bu formatlarla çalışmaya başlayabilecekler.

  • Python ile farklı formatlarda görüntüleri yükleyip işleyebilecekler.

  • RTSP akışları ile IP kameralarından gelen video görüntülerini yükleyebilecek ve işleyebilecekler.

  • Görüntü formatlarını dönüştürme, görselleştirme ve işleme konusunda pratik bilgi kazanacaklar.

Bu ders, katılımcıların görüntü formatları ve video akışları ile ilgili temel bilgilere sahip olmalarını sağlar ve görüntü işleme uygulamaları için önemli bir temel oluşturur.

Bu Yazıya Tepkin Nedir?

like

dislike

love

funny

angry

sad

wow