[英]How to return empty numpy array as np.ndarray([[[]]])
我有一個程序可以檢索圖像並將 RGB 圖像返回為 3D np.ndarray
。 當圖像不可用時,我想返回np.ndarray([[[]]])
。
我們能做到嗎?
使用numpy.empty
它返回給定形狀和類型的新數組,而不初始化條目。
import numpy as np
empty_array = np.empty((1, 1, 1))
empty_array
array([[[5.e-324]]])
或者
import numpy as np
empty_array = np.empty((1, 1, 0))
empty_array
array([], shape=(1, 1, 0), dtype=float64)
這基本上是
np.array([[[]]])
文檔以獲得更多幫助
只需返回np.empty((10,10,10),object)
因為x=np.empty((10,10,10))
返回數組,其中隨機值已存儲在 memory 緩沖區中。 x=np.empty((10,10,10),object)
將返回none
值的數組。
這里 (10,10,10) 維度只是一個例子。 使用對您有利的尺寸。
制作這樣一個數組很容易:
In [128]: arr = np.array([[[]]])
In [129]: arr
Out[129]: array([], shape=(1, 1, 0), dtype=float64)
您也可以使用np.zeros((1,1,0))
(或empty
); 但這並不比 [128] 簡單。
但是您將如何使用或測試它呢? 我想你可以檢查:
In [130]: arr.nbytes
Out[130]: 0
我相信其中一個圖像包( cv2
?)如果無法加載圖像,則返回None
。 在 python 中測試None
簡單、可靠且廣泛使用。
In [131]: arr = None
In [132]: arr is None
Out[132]: True
使用 0 尺寸的“圖像”可能會發送更多信息,但仍然是完整的 3 個顏色通道np.zeros((0,0,3), np.int8)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.