Python OpenCV Color Spaces | Renk Uzayları

Merhaba. Bu yazımda OpenCV Color Spaces (Renk uzayları) hakkında örnekler göstereceğim. Örneklerden sonra renk uzayı dönüşümleri hakkında bir kaç tanesini yorumlayacağım.

import cv2

img = cv2.imread("Desktop\ferditayfur.jpg")
cv2.imshow("Orijinal", img)

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray", gray)

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.imshow("HSV", hsv)

lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
cv2.imshow("LAB", lab)

rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2.imshow("RGB", rgb)

hsv_bgr = cv2.cvtColor(lab, cv2.COLOR_HSV2BGR)
cv2.imshow("HSV BGR", hsv_bgr)

cv2.waitKey(0)

Çıktımız aynı aşağıdaki görsel gibi olacaktır.

Şimdi kodları sırasıyla ele alalım.

  • imread() varsayılan olarak kullanılan resim okuma metodudur. Resmi okutmak için dosya yolunu ve adını yazmanız yeterlidir.
  • cvtColor() Görüntüyü bir renk uzayından diğerine dönüştürür. OpenCV’de 140 dan fazla dönüşüm metodu vardır. Ben sadece sık kullanılan 5 tanesinden bahsedeceğim.
  • COLOR_BGR2GRAY RGB/BGR’i gri tonlamalı renge dönüştürme
  • COLOR_BGR2HSV RGB/BGR’yi HSV’ye (ton doygunluk değeri) dönüştürme
  • COLOR_BGR2LAB RGB/BGR’yi CIE Lab‘e dönüştürme
  • COLOR_BGR2RGB BGR’i RGB olarak dönüştürür. OpenCV renkleri RGB(Red, Green, Blue) değil de tam tersi BGR olarak okumaktadır. OpenCV ile Pillow modülü aynı anda kullanınca karmaşıklık ortaya çıkmaktadır. Bu yüzden resimler OpenCV’de kayıt edilirken RGB’ye dönüştürülmesi, yani bu metodun kullanılması gerekiyor.
  • COLOR_HSV2BGR H (ton) aralığı 0-180 ile HSV’den RGB/BGR’ye geri dönüştürür.

OpenCV Color Spaces konusu oldukça detaylı bir konudur. Üzerinde uzun uzun konuşulabilir. Bu yüzden daha detaylı bilgi için OpenCV’nin resmi dökümantasyonunu incelemenizi tavsiye ediyorum.

📌 Renk uzayı hakkında ki tüm detaylara buradan ulaşabilirsiniz.

📌 OpenCV ile ilgili yazılarıma bakmak için tıklayın.