· Hakan Çelik · OpenCV / Temel İşlemler · 2 dk okuma
Opencv Resim Işlemleri

- 1. Boya Fırçası Olarak Fare
- 2. Canny Kenar Algılama
- 3. Görüntü Geçişleri
- 4. Görüntü Piramitleri
- 5. Görüntülerde Aritmetik İşlemler
- 6. Görüntülerle İlgili Temel İşlemler
- 7. Görüntünün Geometrik Dönüşümleri
- 8. Görüntüyü Yumuşatma - ( Smoothing Images )
- 9. Histogramlar
- 10. Konturler ( Contours )
- 11. Morfolojik Dönüşümler
- 12. Opencv Nedir Ve Kurulumu
- 13. Opencv Resim Işlemleri
- 14. Opencv Video Işlemleri
- 15. Opencv'de Çizim Fonksiyonları
- 16. Performans Ölçüm Ve Geliştirme Teknikleri
- 17. Renk Alanlarını Değiştirme
- 18. Renk Paleti Olarak Parça Çubuğu ( Trackbar )
- 19. Resim Eşikleme
Opencv Resim Işlemleri
Resim dosyasını okuma
Resim dosyasını okumak için cv2.imread() fonksiyon kullanılır ve iki arguman alır.
- birincisi okunmak istenilen dosya ismi veya tam yolu
- ikicisi ise dosyanın nasıl okunması gerektiğidir ikinci argüman 3 değer alabilir bunlar
- cv2.IMREAD_COLOR varsayılan olarak gelir renkli çıktı verir
- cv2.IMREAD_GRAYSCALE gri modda okur
- cv2.IMREAD_UNCHANGED alfa kanalı olarak okur
örnek kod:
import cv2
import numpy as np
# resmi gri modda okuttuk
img = cv2.imread('messi5.jpg',0)Resmi görmek
cv2.imshow() resmi görmek için kullanılan fonksiyondur, işlemler sonrası yaptığınız değişiklikleri bunun ile görebilirsiniz,iki argüman alır
- açılacak olan pencerenin ismi ( her pencere ismi farklı olmalı )
- gösterilecek olan resim
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()cv2.waitKey() klavye olaylarını dinleyen fonksiyondur, aldığı argüman mili saniye cinsindedir, klavyede herhangi bir zamanda herhangi bir tüşa basılırsa program kaldığı yerden devam etmesini sağlar,
eğer 0 geçilirse, bir tuş vuruşu için süresiz olarak bekler. Ayrıca, a tuşu basılırsa, aşağıda tartışacağımız gibi belirli tuş vuruşlarını algılamak için de ayarlanabilir.
cv2.destroyAllWindows() oluşan ekranları kapatmamızı sağlayan fonksiyondur, kapatmak istediğiniz bir pencere ismini vererekte kapanmasını sağlayabilirsiniz.
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()Resmi kaydetme
cv2.imwrite() bu fonksiyon ile değişiklik yaptığımız resim dosyalarını kayıt edebiliriz,iki argüman alır
- kayıt edilecek olan resim dosyasının ismi ( isim girilirse bulunduğu dizine kayıt edilir,tam yol girilirse yola kayıt edilir )
- kayıt edilecek olan resim
cv2.imwrite('messigray.png',img)
png formatında bulunduğu dizine kayıt edilirÖzet olarak Aşağıdaki kod parçası resmi gri modda yükler,pencere açarak görüntüler eğer s harfine basılırsa kayıt eder ve çıkar veya esc basılırsa kayıt etmeden çıkar.
import cv2
import numpy as np
img = cv2.imread('messi5.jpg',0)
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27: # esc ye basılırsa çıkış yapar
cv2.destroyAllWindows()
elif k == ord('s'): #s harfine basılırsa
cv2.imwrite('messigray.png',img) # kayıt eder
cv2.destroyAllWindows() # ve pencere yi kapatırUyarı !
Eğer 64 bit makina kullanıyorsanız, burayı değiştirmelisiniz
k = cv2.waitKey(0) #bu satırı
k = cv2.waitKey(0) & 0xFF # bu şekilde yapmalısınızMatplotlib kullanımı Matplotlib, çok çeşitli çizim yöntemleri sağlayan Python için bir çizim kütüphanesi.
Burada Matplotlib ile resim dosyasının nasıl açıldığını öğreneceksiniz, resmi yakınlaştırabilir ve Matplotlib kullanarak kayıt edebilirsiniz.
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('messi5.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # x ve y eksenindeki işaret değerlerini gizler
plt.show()bu şekilde görünecektir.
Hakan Çelik
