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:
Oke selamat mencoba ya, terutama untuk mahasiswi saya, Indri! Semoga bermanfaat! 🙂
@Malang. Gedung H1.5