簡體   English   中英

用零填充 3d numpy 圖像數組

[英]Padding 3d numpy image array with zeros

我有 357 張 .bmp 圖像(形狀:(357,227,227))

我將它們讀入 numpy 數組,然后將它們填充為標准大小

(4608,227,227)。 問題是當我從填充的 .npy 中讀取圖像時

圖像顯示為黑色,意味着所有圖像都用零填充。

我不知道為什么要填充所有圖像零,我需要保留圖像。 以下是我嘗試過的:

allfiles = os.listdir(pth_upd)
files = []
columns = ['data']
for file in allfiles:
    files.append(file) if ('.bmp' in file) else None
    samples = np.empty((1,227,227))

for file in files:
    img = cv2.imread(os.path.join(pth_upd,file),0)
    img = img.reshape(1,227,227)
    img=img.astype(np.float32)
    samples = np.append(samples, img, axis=0)

    if (len(samples)< 4608) :

        pad_size=4608-len(samples)       

        samples = np.pad(samples,(( pad_size,0),(0,0),(0,0)),mode='constant', constant_values=0) 

        f_name=format(folder)
        np.save(f_name, samples)
        print('saved')
        print(samples.shape)

    else:
        None

發生這種情況的原因是您在循環內對所有圖像文件進行填充。

因此,無論何時進行填充,都會覆蓋上一次迭代中加載的任何圖像。

完成對所有圖像文件的循環后,您應該進行填充。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM