kuaforumcepte
Python Renk Uzayı ve Nesne Takibi

OpenCV’de 150’den fazla renk uzayı çevirme yöntemi vardır. Bunların en sık kullanılanları BGR – Gray Scale ve BGR – HSV uzayı çevrimleridir.

OpenCV’de renk uzayı değiştirebilmek için cvtColor fonksiyonu kullanılır. Bu fonksiyona 2 parametre gönderilir. Bunlardan biri görüntü ve bir diğeri ise renk uzayı çevirme tipidir.

BGR- Gray Scale dönüşümü için cv2.COLOR_BGR2GRAY parametresi kullanılır. BGR_HSV dönüşümü için ise cv2.COLOR_BGR2GSV kullanılır.

Aşağıdaki kod ile OpenCV içindeki tüm renk uzayı dönüşümlerini görebiliriz.


********************************************

import cv2
flags = [i for i in dir(cv2) if i.startswith('COLOR_')]
for val in flags:
print (val)


********************************************

Nesne Takibi

BGR – HSV uzayı dönüşümü sayesinde görüntü içindeki renkli bir nesneyi bulabiliriz. RGB (BGR) uzayına göre HSV uzayında renk tespiti çok daha kolaydır.

Aşağıdaki uygulamamızda görüntü içindeki mavi renkli nesneleri bulacağız. Bunun için test.png adıyla kaydettiğimiz OpenCV logosunu kullanacağız.

********************************************

import cv2
import numpy as np
img = cv2.imread('test.png')
# BGR - HSV Donusumu
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# Mavi rengin HSV uzayindaki araligi
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
# HSV icindeki mavi rengi tespit edebilmek icin threshold
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# Bitwise-AND islemi ve mask uygulaniyor
res = cv2.bitwise_and(img,img, mask= mask)
cv2.imshow('img',img)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
cv2.waitKey(0)
cv2.destroyAllWindows()

******************************************


Bu işlemin aynısını video dosyası üzerinde ya da kamera görüntüsü ile yapmanız da mümkün. Aşağıdaki kod parçacığı ile aynı işlemi webcam görüntüsü üzerinde uygulayabilirsiniz, kodu test etmeniz için mavi renk bir nesnenin kamera görüntüsü içinde olması yeterlidir.



******************************************

import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
# Görüntü frame'i al
_, frame = cap.read()
# HSV uzayina donustur
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# Mavi rengin HSV uzayindaki araligi
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
# HSV icindeki mavi rengi tespit edebilmek icin threshold
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# Bitwise-AND islemi ve mask uygulaniyor
res = cv2.bitwise_and(frame,frame, mask= mask)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()

****************************************



Blog : Python Renk Uzayı ve Nesne Takibi
Facebook Reklamları
Oyun Oynayarak Para Kazanmak Bitcoin Kazanmak
Mobil Uyumlu Tema Yazılımı
Python Renk Uzayı ve Nesne Takibi
Raspberry WebIOPi Kurulumu
Linux İşletim Sistemlerinde SSH (Secure Shell) Yapılandırması
İyzico Pazaryeri Entegrasyonu 2


tcmb.gov.tr'den GÜNCEL DÖVİZ KURU

dolar_kur USD Alış: 18.5057

dolar_kur USD Satış: 18.5799

euro_kur EUR Alış: 18.1268

euro_kur EUR Satış: 18.1995

metamask phantom 2022. Tüm Hakları Saklıdır.
Facebook Twitter Instagram