在進行圖像處理的時候,我們經常會碰到 array 格式的數據,因為圖像至少是二位數組。最近,我在看別人代碼的時候,為了判斷某個數組是否是二值圖像的時候,我經常想要看變量中是否只存在 0 和 1 兩種元素,所以上網找了比較好的實現方法,分享給大家。
1 In [1]: import numpy as np 2
3 In [2]: a=np.arange(1, 13).reshape(3, 4) 4
5 In [3]: a 6 Out[3]: 7 array([[ 1, 2, 3, 4], 8 [ 5, 6, 7, 8], 9 [ 9, 10, 11, 12]]) 10
11 In [4]: a[1,:]=100
12
13 In [5]: a 14 Out[5]: 15 array([[ 1, 2, 3, 4], 16 [100, 100, 100, 100], 17 [ 9, 10, 11, 12]]) 18
19 In [6]: unique, counts = np.unique(a, return_counts=True) 20
21 In [7]: b=dict(zip(unique, counts)) 22
23 In [8]: b 24 Out[8]: {1: 1, 2: 1, 3: 1, 4: 1, 9: 1, 10: 1, 11: 1, 12: 1, 100: 4}