溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中numpy生成mask圖像的案例

發(fā)布時間:2020-11-03 09:39:49 來源:億速云 閱讀:290 作者:小新 欄目:編程語言

這篇文章主要介紹Python中numpy生成mask圖像的案例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在numpy中,有一個模塊叫做ma,這個模塊幾乎復(fù)制了numpy里面的所有函數(shù),當(dāng)然底層里面都換成了對自己定義的新的數(shù)據(jù)類型MaskedArray的操作。

我們來看最基本的array定義。

An array class with possibly masked values. Masked values of True exclude the corresponding element from any computation.

MaskedArray是一個可能帶有掩膜信息的數(shù)組,對于它的任何計算都是只針對掩膜值為True的數(shù)值上的。

Construction::   x = MaskedArray(data, mask=nomask, dtype=None, copy=False, subok=True,     ndmin=0, fill_value=None, keep_mask=True, hard_mask=None,     shrink=True, order=None)

這個class的屬性有很多,但是呢,我們只需要關(guān)注三個屬性就好了,也就是data,mask和fill_value。其他的屬性很難用到,舉個例子,比如那個hard_mask,這個屬性為True就是指data一旦某些值被掩蓋掉了就真的丟失了。詳細的可以看源碼注解。這里不過多介紹。

Parameters ---------- data : array_like Input data. mask : sequence, optional Mask. Must be convertible to an array of booleans with the same shape as `data`. True indicates a masked (i.e. invalid) data. fill_value : scalar, optional Value used to fill in the masked values when necessary. If None, a default based on the data-type is used.

data就不多說了,一個array_like,tuple,list,ndarray都行。

mask是一個只包含True和False的ndarray,它的shape和data一致,這個數(shù)組是讓你指定需要掩蓋的值的,標記為True的數(shù)據(jù)會被掩蓋掉。被掩蓋的位置會變成 –(這是兩個短橫杠,類型是MaskedConstant

fill_value是一個標量,當(dāng)你掩蓋掉一些值之后,如果你想把這些被掩蓋的值換成另外一個值,那么你就需要用到它。

import numpy.ma as npm import numpy as np data = np.random.randint(1, 10, size=[1, 5, 5]) mask = data < 5 arr = npm.array(data, mask=mask) print(arr) #[[[6 6 -- 8 --] # [-- -- -- 6 7] # [9 -- -- 6 9] # [-- -- 5 -- 8] # [6 9 -- 5 --]]]

不過numpy也可以直接對ndarray進行條件運算。

import numpy as np arr = np.random.randint(1, 10, size=[1, 5, 5]) mask = arr<5 arr[mask] = 0 # 把標記為True的值記為0 print(arr) #[[[9 9 7 6 0] # [0 0 6 9 0] # [8 0 8 5 0] # [0 5 5 8 9] # [0 7 0 0 6]]]

以上是Python中numpy生成mask圖像的案例的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI