欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Numpy,mask圖像的生成詳解

 更新時間:2020年02月19日 08:50:10   作者:GZHermit  
今天小編就為大家分享一篇Python Numpy,mask圖像的生成詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

什么是掩膜(mask)

在numpy中,有一個模塊叫做ma,這個模塊幾乎復制了numpy里面的所有函數(shù),當然底層里面都換成了對自己定義的新的數(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的屬性有很多,但是呢,我們只需要關注三個屬性就好了,也就是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是一個標量,當你掩蓋掉一些值之后,如果你想把這些被掩蓋的值換成另外一個值,那么你就需要用到它。

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圖像的生成詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python用內置模塊來構建REST服務與RPC服務實戰(zhàn)

    Python用內置模塊來構建REST服務與RPC服務實戰(zhàn)

    這篇文章主要介紹了Python用內置模塊來構建REST服務與RPC服務實戰(zhàn),python在網(wǎng)絡方面封裝一些內置模塊,可以用很簡潔的代碼實現(xiàn)端到端的通信,比如HTTP、RPC服務,下文實戰(zhàn)詳情,需要的朋友可以參考一下
    2022-09-09
  • 淺談Python處理json字符串為什么不建議使用eval()

    淺談Python處理json字符串為什么不建議使用eval()

    本文主要介紹了Python處理json字符串為什么不建議使用eval(),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 詳細介紹Python的鴨子類型

    詳細介紹Python的鴨子類型

    相信python的開發(fā)者對于python的鴨子類型比較熟悉,鴨子類型在維基百科中的準確定義是‘是動態(tài)類型的一種風格。在這種風格中,一個對象有效的語義,不是由繼承自特定的類或實現(xiàn)特定的接口,而是由"當前方法和屬性的集合"決定’。所以這篇文章給大家python的鴨子類型。
    2016-09-09
  • Python3通過chmod修改目錄或文件權限的方法示例

    Python3通過chmod修改目錄或文件權限的方法示例

    這篇文章主要介紹了Python3通過chmod修改目錄或文件權限的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 用python寫掃雷游戲實例代碼分享

    用python寫掃雷游戲實例代碼分享

    我們給大家分享了一篇關于用python寫一個掃雷經(jīng)典游戲的實例代碼,大家可以測試運行下。
    2018-05-05
  • python安裝自己的代碼到site-packages問題

    python安裝自己的代碼到site-packages問題

    這篇文章主要介紹了python安裝自己的代碼到site-packages問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist

    淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist

    這篇文章主要介紹了淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 從0編寫區(qū)塊鏈之用python解釋區(qū)塊鏈最基本原理

    從0編寫區(qū)塊鏈之用python解釋區(qū)塊鏈最基本原理

    人工智能和區(qū)塊鏈誕生至今已經(jīng)有了十幾年,當這些技術出現(xiàn)時,人們都說他們會改變世界,但至今為止,這兩項技術對現(xiàn)實的影響依然有限,接下來通過本文介紹下從0編寫區(qū)塊鏈之用python解釋區(qū)塊鏈最基本原理,需要的朋友可以參考下
    2022-02-02
  • python 計算兩個列表的相關系數(shù)的實現(xiàn)

    python 計算兩個列表的相關系數(shù)的實現(xiàn)

    這篇文章主要介紹了python 計算兩個列表的相關系數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python利用正則表達式從字符串提取數(shù)字

    Python利用正則表達式從字符串提取數(shù)字

    正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配,下面這篇文章主要給大家介紹了關于Python利用正則表達式從字符串提取數(shù)字的相關資料,需要的朋友可以參考下
    2022-02-02

最新評論