OpenCv ile Görüntüyü Katmanlarına Ayırma

Merhaba arkadaşlar, bu yazımda görüntü işlemenin temelinde yer alan görüntüyü katlamanlarına ayırma işlemine bakacağız.

Görüntüyü katmanlara ayırmak için birçok yöntem bulunmaktadır. Bunlardan birisi openCV ile gelen split metotudur fakat ben onu kullanmayıp direkt yüklediğim resimin array(dizi/matris) özelliğinden faydalanarak renk katmanlarına ayıracağım. Hadi başlayalım.

1) Kütüphaneleri Ekleme

openCV ve numpy kütüphanesini kullanacağım için bu iki kütüphaneyi ekliyorum.

# Kütüphanelerin Yüklenmesi
import cv2
import numpy as np

2) Görselin Okunması ve Ekranda Orjinal Resmin Gösterilmesi

# Görselin okunması

resim = cv2.imread("kedi.jpg") 

#Görselin ekranda gösterilmesi
cv2.imshow("Kedi Resmi",resim)

Ben kedi.jpg adında bir görsel kullandım. Sizler de rastgele bir görseli buraya ekleyebilirsiniz. Daha sonra da ekranda bu resmi gösterdik. Şimdi katmanlarına ayırıp sonra birleştirmeye

3) Görselin Katmanlara Ayrılıp Birleştirilmesi

# Görselin renk bileşenlerine ayrılması

Red = resim[:,:,2]
Green = resim[:,:,1]
Blue = resim[:,:,0]

#Bileşenlerine ayrılmış görsellerin ekranda gösterilmesi 
cv2.imshow("Kirmizi",Red)
cv2.imshow("Yesil",Green)
cv2.imshow("Mavi",Blue)

# yeni resim adında tamamı beyaz görsel oluşturma
yeniresim=np.ones((458,810,3), dtype=np.uint8)

# tamamı siyah görsel oluşturma
#yeniresim=np.zeros((458,810,3), dtype=np.uint8)

#Oluşan yeni görsele renklerini verme
yeniresim[:,:,0]=Blue
yeniresim[:,:,1]=Green
yeniresim[:,:,2]=Red

#yeni görselin ekranda gösterilmesi
cv2.imshow("Yeni Resim", yeniresim)

Burada dikkat etmeniz gereken bir şey var. Normalde birçok yerde renk sıralaması RGB olsa da openCV’de BGR’dır. Bu sebeple yeni resmimizi oluştururken buna göre vermemiz gerekmektedir. Kodlarım içerisine yeterince yorum satırı ekledim.

Bir de ekran çıktımıza bakalım.

Görüntü Katmanlarına ayırma ekran çıktısı

Sizler de kodları deneyerek daha ayrıntılı olarak görebilirsiniz.

Eğer görüntü işleme ve Veri analizinde sıkça kullanılan NumPy kütüphanesi hakkında daha fazla bilgi almak istiyorsanız buraya tıklayarak bilgi alabilirsiniz.

[the_ad id=”1292″]

Umarım anlaşılır olmuştur.

 

Bunlara Göz Atmak İsteyebilirsiniz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir