Görüntü işleme alanında merak ettiklerinizi Görüntü İşleme kategorisini ziyaret ederek bilgi edinebilirsiniz
Hedefler
Burada bir görüntünün nasıl okunabileceğini, nasıl düzenlenebileceğini ve nasıl geri kaydedilebileceğini öğreneceğiz.
Kullanılacak fonksiyonlar: cv2.imread () , cv2.imshow () , cv2.imwrite ()
Matplotlib ile görüntüyü nasıl kullanabileceğimizi göreceğiz.
Bir Resmi Okuma
İkinci parametre, resmin okunması şeklini belirten bir bayraktır(flag).
- cv2.IMREAD_COLOR: Renkli bir resim yükler. Görüntünün saydamlığı ihmal edilir. Varsayılan bayraktır(flag).
- cv2.IMREAD_GRAYSCALE: Gri tonlama modunda görüntü yükler.
- cv2.IMREAD_UNCHANGED: Alfa kanalı da dahil olmak üzere görüntüyü yükler.
Biraz kodlama zamanı:
import numpy as np import cv2 #Gri tonlarda bir resim yükle img = cv2.imread('images.png',0)
Uyarı:
Görüntüyü Göster
Bir resmi görüntülemek için cv.imshow() fonksiyonu kullanılır. Pencere otomatik olarak görüntü boyuna uyar.
İlk parametre bir dizi(string) adıdır. İkinci parametre ise bizim imajımızdır. İstediğimiz kadar görüntü oluşturabiliriz ama farklı isimler kullanmak şartı ile.
cv2.imshow ('resim' , img) #resim adında bir pencerenin içinde bizim görüntüyü gösterir. cv2.waitKey(0) cv2.destroyAllWindows ()
Pencerenin ekran görüntüsü aşağıdaki gibidir.
cv2.waitKey() bir klavye bağlama fonksiyonudur. Bu fonksiyon herhangi bir klavye olayı için belirtilen milisaniyeleri bekler. O süre zarfında bir tuşa basarsanız program devam eder. Eğer “0” ataması yapılırsa sonsuza kadar bekler.
cv2.destroyAllWindows() kabaca açıklamak gerekirse oluşturulan bütün pencereleri yok ediyor. Herhangi bir pencereyi yok etmek istiyorsak pencere adını parantez içine yazmak yeterli.
Resmi Kaydetme
Bir resmi kaydetmek için cv2.imwrite() fonksiyonu kullanılır. İlk parametre dosya adı, ikinci parametre ise kaydetmek istediğimiz görüntüyü temsil eder.
cv2.imwrite('images.png' , img)
Bu resmi PNG formatında çalışılan dizine kaydeder.
Özet:
Aşağıdaki program gri tonlamalı bir görüntüyü yükler, eğer ‘s’ tuşuna basarsanız görüntüyü kaydedip çıkar. ‘ESC’ tuşuna basarsanız kaydetmeden çıkar.
import numpy as np import cv2 img = cv2.imread('images.png',0) cv2.imshow('image',img) k = cv2.waitKey(0) if k == 27: #ESC tuşunu bekler.. cv2.destroyAllWindows() elif k == ord('s'): #Kayıt için 's' tuşunu bekler.. cv2.imwrite('images.png', img) cv2.destroyAllWindows()
Matplotlib
Matplotlib Python için tasarlanmış, çok çeşitli çizim yöntemleri sunan bir kütüphanedir(library). Sonraki yazılarda bu kütüphane çokça kullanılacak. Burada ufak bir giriş yapmak adına görüntüyü Matplotlib ile nasıl açabileceğimizi göreceğiz. Matplotlib kullanarak resimleri kolayca yakınlaştırıp, uzaklaştırabilir ve kayıt işlemi yapabiliriz.
import numpy as np import cv2 from matplotlib import pyplot as plt img = cv2.imread('images.png',0) plt.imshow(img, cmap = 'gray', interpolation = 'bicubic') plt.show()
Bu işlemin sonucu aşağıdaki gibi olacaktır.
Bir yanıt bırakın