[Python] Mean Filtering

Oke pada artikel kali ini saya akan sedikit banyak membahas tentang mean filtering pada sebuah citra berwarna from scratch menggunakan Python dan OpenCV serta Numpy. Oke langsung saja seperti ini kurang lebih contoh kodingan yang saya buat. Kodingan ini so far jalan mulus dalam beberapa kasus, namun masih ada masalah. Coba temukan masalahnya 😀

[code language=”python”]
__author__ = ‘yuitaarumsari’
import cv2
import numpy as np

img = cv2.imread(‘kucing-Scotish.jpg’)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("output",gray)

height, width = gray.shape
print height, width

def replaceValue(a,b,mask_size):
filtergray = 0.0;
for i in range(mask_size+a)[a:]:
for j in range(mask_size+b)[b:]:
filtergray = filtergray + gray[i,j]
filtergray_ = filtergray/(mask_size*mask_size)
return filtergray_

def meanFiltering(mask_size):
newImage = np.zeros((height-2, width-2), np.float32)
for i in range(height-2):
for j in range(width-2):
newValue = replaceValue(i,j,mask_size)
# print newValue
newImage[i,j] = newValue
img = np.array(newImage, dtype=np.uint8)
print newImage
return img

if __name__ == ‘__main__’:
# replaceValue(0,0,5) #this line just for testing replaceValue method
filterImage = meanFiltering(3)
cv2.imshow("Mean Filtering", filterImage)
cv2.waitKey(0)
cv2.destroyAllWindows()
[/code]

Keluaran dari hasil eksekusi kode di atas seperti di bawah ini:

Kucing lucu (Sumber: Google)

Oke selamat mencoba ya, terutama untuk mahasiswi saya, Indri! Semoga bermanfaat! 🙂

@Malang. Gedung H1.5

Leave a Reply

Your email address will not be published. Required fields are marked *