Here is example code for eigenvector based segmentation in Python. For more details, see code here.
import matplotlib.pyplot as plt import numpy as np Img = plt.imread("twoObj.jpg") n = Img.shape[0] Img2 = Img.flatten(order='C') nn = Img2.shape[0] A = np.zeros((nn,nn)) for i in range(nn): for j in range(nn): A[i,j]=np.exp(-((Img2[i]-Img2[j])**2)) V,D = np.linalg.eig(A) V = np.real(V) a = np.real(D[0]) print a threshold = 0 # filter a = np.reshape(a, (n,n)) Img[a<threshold] = 255 plt.imshow(Img) plt.show()
No comments:
Post a Comment