Opencv-Python Uygulamaları-6
Kullanılan Sistem Özellikleri: Ubuntu 16.04 LTS, OpenCV 3.2, Python 3.5.2Hedefler:
Kullanılacak Fonksiyonlar: cv2.copyMakeBorder()
Görüntünün etrafında bir fotoğraf çerçevesi(frame) oluşturmak istiyorsanız; cv2.copyMakeBorder() fonksiyonunu kullanabilirsiniz. Konvülasyon, zero padding gibi işlemleri de yine aynı fonksiyon yardımı ile gerçekleştirebilirsiniz. Fonksiyonun iç yapısına bir göz atacak olursak:
src: görüntü girdisi(input)
top,bottom,left,right sınır piksellerinin değer aralıkları
borderType: İşaret(flag)'in nasıl olacağı ile ilgili parametreler. Aşağıdaki gibi devam edebilir.
cv2.BORDER_CONSTANT : Sabit renkli çerçeve ekler. Değerin hemen bir sonraki parametrede belirtilmesi gerekmektedir.
cv2.BORDER_REFLECT : Sınırlar ayna(mirror) efekti eklenerek belirtilir. Örneğin: abc|cba gibi
cv2.BORDER_DEFAULT : Mirror efekti gibi çalışır sınırları ilk tanımlı haline döndürür.
cv2.BORDER_REPLICATE : Son element kopyalanır,çoğaltılır(replicate). Örneğin: abc|ccccc
cv2.BORDER_WRAP : Son elemanı keser(wrapping)
value: Sınırın(Border) tipinin değerini gösterir.
Hadi tüm bu parametreleri daha iyi anlayabilmek için hepsini bir örnek içinde test edelim.
import cv2
import numpy as np
from matplotlib import pyplot as plt
# Matplotlib Modülünü Kurmayı Unutmayınız!!!
BLUE = [255,0,0]
res1= cv2.imread('opencv1.png')
# Kullanılan Parametreler:
replicate = cv2.copyMakeBorder(res1,15,15,15,15,cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(res1,15,15,15,15,cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(res1,15,15,15,15,cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(res1,15,15,15,15,cv2.BORDER_WRAP)
constant= cv2.copyMakeBorder(res1,15,15,15,15,cv2.BORDER_CONSTANT,value=BLUE)
# Subplotların Atamaları İçin:
plt.subplot(231),plt.imshow(res1,'gray'),plt.title('ORIGINAL')
plt.subplot(232),plt.imshow(replicate,'gray'),plt.title('REPLICATE')
plt.subplot(233),plt.imshow(reflect,'gray'),plt.title('REFLECT')
plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('REFLECT_101')
plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('WRAP')
plt.subplot(236),plt.imshow(constant,'gray'),plt.title('CONSTANT')
plt.show()
Örnek resim olarak; dersler için kullandığımız resmi kullandığımızda aşağıdakine benzer bir çıktı almamız gerekmektedir. Parametreleri değiştirerek sonuçlarını gözlemleyebilirsiniz. İyi eğlenceler
Kaynakça: http://docs.opencv.org/3.2.0/
Kaynak dosyaları ve Resimleri indirmek için: TIKLAYINIZ!!!
0 yorum: