Görüntü İşleme(Image Processing) Nedir? Örnek Uygulamalar.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)