Görüntü İşleme(Image Processing) Nedir? Örnek Uygulamalar.

iammbrn
Türkçe Yayın
Published in
4 min readMar 3, 2024

Görüntü İşleme(Image Processing):

Görüntü İşleme, elimizde olan veriler üzerinde bilgisayar ortamında iyileştirme, bulanıklaştırma, renklendirme, kırpma ve yazı yazma gibi işlemler yapmamızı sağlayan bir alandır. Aşağıda benim yaptığım birkaç örnek uygulamanın hem kod kısmı hem de oluşan sonuçlar görsel olarak verilmiştir inceleyebilirsiniz.

Fotoğrafın orijinal hali -Link

1-) Resmin Belirli Bir Renk Kanalının Seçilmesi:

import cv2

iamge=cv2.imread("data/ornek.jpg") #imread("dosya yolu") goruntuyu okuyarak belleğe aktarmamızı sağlar.

cv2.imwrite("data/black_gray.jpg", image[:, :, 0]) #Burada görüntüyü siyah beyaz olarak okur ve data klasörü altına kaydeder..

cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Siyah-Beyaz Görüntü-

2-) Görüntü Koyulaştırma:

import cv2

iamge=cv2.imread("data/ornek.jpg") #imread("dosya yolu") goruntuyu okuyarak belleğe aktarmamızı sağlar.

image -= 10 #ifadesiyle her pikselin değeri 10 azaltılır. Bu, resmin parlaklığını genel olarak koyulaştırır.

cv2.imshow("example", image) # görüntü example penceresinde ekranda görüntülenir.

cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Görüntü Koyulaştırma -

3-) Resmin Döndürülmesi ve Görüntülenmesi:

import cv2
import numpy as np

iamge=cv2.imread("data/ornek.jpg") #imread("dosya yolu") goruntuyu okuyarak belleğe aktarmamızı sağlar.

cv2.imshow("image2", np.flip(image,1)) # np.flip() işlevi, bir dizi veya görüntüyü belirtilen boyut boyunca döndürmek için kullanılır.

cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Resmin Döndürülmesi ve Görüntülenmesi-

4-) Belirli Bir Bölgenin Kırpılması(Kesilmesi):

import cv2

iamge=cv2.imread("data/ornek.jpg") #imread("dosya yolu") goruntuyu okuyarak belleğe aktarmamızı sağlar.

cropped_image =image[190:310, 200:300, :] #görüntüyü belirlediğimiz boyutlara göre kırparız.

cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Belirli Bir Bölgenin Kırpılması(Kesilmesi)-

5-) Görüntüdeki Bir Bölgenin Değiştirilmesi:

import cv2
import numpy as np

image=cv2.imread("data/image1.jpg")
image2=cv2.imread("data/crroped.jpg")


image[190:310, 200:300, :] =image2[:, :, :] # image2 dosyasındaki veriyi image dosyasına verilen konuma kopyalar.

cv2.imshow("image", image) # görüntü image penceresinde ekranda görüntülenir.

cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Görüntüdeki Bir Bölgenin Değiştirilmesi-

6-) Görüntü Üzerine Yazı Ekleme:

import cv2
import numpy as np
image = cv2.imread("data/ornek.jpg")
cv2.putText(image,"Visca Barca Visca Katalunya(Barcelona)",(50,300),2,0.6,(0,250, 0)) # belirlediğimiz bölgeye belirli boyutlarda istediğimiz yazıyı yazdık.

cv2.imwrite("data/uygulama_sonucu.jpg",image) #elde ettiğimz sonucu kaydedetmek için kullanılır.
cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Görüntü Üzerine Yazı Ekleme-

7-) Görüntü Üzerine Çizgi Çizmek:

import cv2
import numpy as np

image = cv2.imread("data/ornek.jpg")

cv2.line(image, (0,0), (481,321), (255, 0, 0), 4) # verilen görüntü üzerinde belirtilen başlangıç ve bitiş noktalarına, renk ve çizginin kalınlığı bilgilerine göre görüntü üzerinde çizgi çizilir.
cv2.line(image, (0,321), (481,0), (255, 0, 0), 4)

cv2.imwrite("data/object.jpg", image) #oluşan sonucu belirtilen dosya yoluna kaydeder.
cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Görüntü Üzerine Çizgi Çizmek-

8-) Nesneleri Dikdörtgen ve Daire İçine Almak:

import cv2
image = cv2.imread("data/ornek.jpg")

# (dosya,(x,y),(x,y),(renk),(kenar kalınlığı))
cv2.rectangle(image, (65, 258), (110, 273), (0, 255, 0), 4) #verilen görüntüde belirtilen bölgeyi dikdörtgen içine alır.

cv2.rectangle(image, (190, 200), (310, 300), (255, 0, 0), 4)

cv2.circle(image, (370, 210), 15, (0, 0, 255), 4) # (dosya,(merkez nokta),yarıçap,(renk),kenar boyutu) #verilen görüntüde belirtilen bölgeyi daire içine alır.


cv2.imwrite("data/object.jpg", image) #oluşan sonucu belirtilen dosya yoluna kaydeder.
cv2.waitKey(0) # goruntuyu açık bırakır kullanılmalıdır.
-Nesneleri Dikdörtgen ve Daire İçine Almak-

9-) Görüntüyü Maskelemek (Sıfırlamak):

import cv2
import numpy as np
image = cv2.imread("data/ornek.jpg")

cv2.rectangle(image, (190, 200), (310, 300), (255, 0, 0), 4) #verilen görüntüde belirtilen bölgeyi dikdörtgen içine alır.

cv2.imshow("gray_scale_example4",image)

mask=np.zeros((321,481)) #verilen bölgenin piksel değerlerini sıfırlayarak siyah bir görüntü oluşturur.

cv2.rectangle(mask, (190, 200), (310, 300), (255, 0, 0), 4) # oluşan mask görüntüsünü kullanarak belirtilen bölgeyi dikdörtgen içine alır.

cv2.imshow("mask",mask) # mask görüntüsünü ekranda görüntüler.
cv2.waitKey(0)
-Görüntüyü Maskelemek (Sıfırlamak)-

Bu yazımda Görüntü İşleme hakkında kendi yorumum ve örnek uygulamalarıma yer verdim. Umarım güzel ve açıklayıcı bir içerik olmuştur. Görüntü İşleme konusunda anlattığı çok değerli bilgiler ve örnekler için Murat Uçar hocama çok teşekkür ederim.(iammbrn)

--

--