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 😀
__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()
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