Yapay Zeka ve LLM
1 dakika okuma
Python ile Goruntu Isleme: OpenCV Temelleri
OpenCV ile goruntu okuma, filtreler, kenar tespiti ve nesne algilama temelleri.
E
Emre Cihan Kurulum
pip install opencv-python numpy
Goruntu Okuma ve Gosterme
import cv2
import numpy as np
# Okuma
img = cv2.imread('goruntu.jpg')
print(f'Boyut: {img.shape}') # (yukseklik, genislik, kanal)
# Gri tonlama
gri = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Kaydetme
cv2.imwrite('cikti.jpg', gri)
# Gosterme (masaustu gerektirir)
cv2.imshow('Goruntu', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Filtreler
# Gaussian blur - gurultu azaltma
bulanık = cv2.GaussianBlur(img, (15, 15), 0)
# Keskinlestirme
kernel = np.array([[0,-1,0], [-1,5,-1], [0,-1,0]])
keskin = cv2.filter2D(img, -1, kernel)
# Median blur - tuz-biber gurultusu
medyan = cv2.medianBlur(img, 5)
Kenar Tespiti
# Canny kenar tespiti
gri = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
kenar = cv2.Canny(gri, threshold1=50, threshold2=150)
# Kontur bulma
konturl, _ = cv2.findContours(kenar, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
print(f'{len(konturl)} kontur bulundu')
# Konturlari ciz
cv2.drawContours(img, konturl, -1, (0, 255, 0), 2)
Renk Tabanli Nesne Algilama
def turuncu_bul(img):
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
alt = np.array([5, 100, 100])
ust = np.array([15, 255, 255])
mask = cv2.inRange(hsv, alt, ust)
# Morfolojik islemler
kernel = np.ones((5,5), np.uint8)
mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel)
mask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel)
# Konturlar
konturl, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for k in konturl:
if cv2.contourArea(k) > 1000:
x, y, w, h = cv2.boundingRect(k)
cv2.rectangle(img, (x,y), (x+w,y+h), (0,165,255), 2)
return img
OpenCV, gomulu sistemlerden web uygulamalarina kadar pek cok alanda kullanilabilir.
Paylaş:
Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı
İlgili yazılar