簡體   English   中英

如何使用Numpy / Keras對填充的圖像的部分進行零填充?

[英]How can I zero pad part of a loaded image with Numpy / Keras?

我正在加載圖像:

from keras.preprocessing import image
img = image.load_img(image_path, target_size=(224, 224))
x = image.img_to_array(img)

我要做的是保持尺寸(224 x 224),但要填充它。 和往常一樣,我會有這樣的圖像:

在此處輸入圖片說明

相反,我想要一個像這樣的圖像:

在此處輸入圖片說明

(為清楚起見,添加了黑色邊框。這不是我真正想要的東西)

我想要的是將圖像移動(一些xy ),其余部分為零。

最簡單的方法是創建一個空矩陣,然后用圖像填充所需的部分:

x=np.ones((224,224,3),dtype=int)*255
x[x_start:,y_start:]=image.img_to_array[x_start:,y_start:]

請注意,如果需要,可以將dtype更改為uint8

numpy中有一個用於填充矩陣的函數。 您應該為每個尺寸指定填充值。

np.pad(img, ((top_pad, bottom_pad), (left_pad, right_pad), (0, 0)), mode='constant', constant_values=0)

如果你需要一個實現一起來看看這個

暫無
暫無

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

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