2016-09-14 14 views
0

I이 이미지의 특징 두 가지의 값을 갖는 배열을 갖는다. 이것을 할 수있는 좋은 방법이 있습니까?노이즈 제거

답변

1

임계 값에 따라 신호의 노이즈를 결정할 방법이없는 경우 (즉, 모든 빨간색 점이 같은 값을 가지거나 단지 1/0 플래그 일 때), 비교적 간단하지만 구현하기 쉬운 방법은 덩어리의 크기에 따라 소음을 제거하는 방법을 고려해야합니다.

scipy's label을 살펴보십시오. 이렇게하면 각각의 '덩어리'에 개별 번호가있는 배열이 생깁니다. 그런 다음 픽셀의 일부 임계 값 수 (n_thresh 이하) 인 기능을 제거한 경우입니다. 특징 대각선다시피

>>> from scipy.ndimage.measurements import label 
>>> import numpy as np 
>>> n_thresh = 1 
>>> a = np.array([[0,0,1,1,0,0],[0,0,0,1,0,0], 
        [1,1,0,0,1,0],[0,0,0,1,0,0], 
        [1,1,0,0,1,0],[0,0,1,1,0,0]]) 
>>> a 
array([[0, 0, 1, 1, 0, 0], 
     [0, 0, 0, 1, 0, 0], 
     [1, 1, 0, 0, 1, 0], 
     [0, 0, 0, 1, 0, 0], 
     [1, 1, 0, 0, 1, 0], 
     [0, 0, 1, 1, 0, 0]]) 
>>> labeled_array, num_features = label(a) 
>>> binc = np.bincount(labeled_array.ravel()) 
>>> noise_idx = np.where(binc <= n_thresh) 
>>> shp = a.shape 
>>> mask = np.in1d(labeled_array, noise_idx).reshape(shp) 
>>> a[mask] = 0 
>>> a 
array([[0, 0, 1, 1, 0, 0], 
     [0, 0, 0, 1, 0, 0], 
     [1, 1, 0, 0, 0, 0], 
     [0, 0, 0, 0, 0, 0], 
     [1, 1, 0, 0, 0, 0], 
     [0, 0, 1, 1, 0, 0]]) 
>>> a 

, 당신은 샘플 덩어리의 그룹 대각선 감동 픽셀 label의 문서화의 예제에 관심을 지불 할 수 있습니다.