Görüntülerde, özellik çıkarma için sık kullanılan bazı teknikler ikilileştirme ve bulanıklaştırmadır
İkilileştirme: resim dizisini 1s ve 0s'ye dönüştürür. Bu, görüntü 2B görüntüye dönüştürülürken yapılır. Gri tonlama bile kullanılabilir. Size görüntünün sayısal bir matrisini verir. Gri tonlama, Disk'te saklandığında daha az yer kaplar.
Python'da böyle yaparsınız:
from PIL import Image
%matplotlib inline
#Import an image
image = Image.open("xyz.jpg")
image
Örnek Resim:
Şimdi, gri skalaya dönüştürün:
im = image.convert('L')
im
size bu resmi döndürür:
Ve matris bunu çalıştırarak görülebilir:
array(im)
Dizi şöyle görünecektir:
array([[213, 213, 213, ..., 176, 176, 176],
[213, 213, 213, ..., 176, 176, 176],
[213, 213, 213, ..., 175, 175, 175],
...,
[173, 173, 173, ..., 204, 204, 204],
[173, 173, 173, ..., 205, 205, 204],
[173, 173, 173, ..., 205, 205, 205]], dtype=uint8)
Şimdi, görüntü özelliklerine göz atmak için bir histogram grafiği ve / veya bir kontur grafiği kullanın:
from pylab import *
# create a new figure
figure()
gray()
# show contours with origin upper left corner
contour(im, origin='image')
axis('equal')
axis('off')
figure()
hist(im_array.flatten(), 128)
show()
Bu size şöyle bir arsa döndürür:
Bulanıklaştırma: Bulanıklaştırma algoritması, çevre rengini her piksele dahil etmek için komşu piksellerin ağırlıklı ortalamasını alır. Kontürleri daha iyi geliştirir ve özellikleri ve önemlerini daha iyi anlamaya yardımcı olur.
Ve Python'da böyle yapıyorsunuz:
from PIL import *
figure()
p = image.convert("L").filter(ImageFilter.GaussianBlur(radius = 2))
p.show()
Ve bulanık görüntü:
Yani, bunlar özellik mühendisliği yapabileceğiniz bazı yollardır. Gelişmiş yöntemler için, Bilgisayarla Görme ve sinir ağlarının temellerini ve farklı filtre türlerini ve bunların önemini ve arkasındaki matematiği anlamalısınız.