我想阅读有关256 X 512 RGB图像的信息(我正在C:\ folder_test中记录笔记本电脑上的数据)。因此,它是一个3D形状,具有形状(256,512,3),第三维保持颜色R,G和B
现在,我想(加载)读取45个这样的图像并制作这些图像的数组。所以我决定制作一个4D阵列,其尺寸为(45,256,512,3),第一维45为图像数,第二,第三和第四维为图像尺寸(256, 512,3)
我尝试使用连接但我收到错误。有没有办法做到这一点?
答案 0 :(得分:0)
我认为在连接之前你忘了扩展尺寸:
import numpy as np
pics = [np.random.sample((256 , 512 , 3)) for i in range(45)]
pics = [np.expand_dims(pic, axis=0) for pic in pics]
np.shape(np.concatenate(pics))
这会给你(45,256,512,3),而pics中的每个条目都有形状(1,256,512,3)
答案 1 :(得分:0)
from scipy import misc
import numpy as np
import glob
images = np.array([misc.imread(fname) for fname in glob.glob('./*.png')])
print(images.shape)
更改本地目录的路径。
答案 2 :(得分:0)
您可以使用 PIL 的Pillow及其旧名称来加载图片,并使用NumPy以高效的方式将图片转换为数组。
from PIL import Image
import numpy as np
image = Image.open("YOUR_IMAGE_PATH")
array = np.array(image)
答案 3 :(得分:-1)
您可以创建列表变量并按照以下方式逐个附加图片:
imageCollection = []
for oneImagePath in (imagePaths):
#code for reading the image
image = .... # image contains (256,512,3) shape image.
imageCollection.append (image)
那就是它。 imageCollection 就是您想要的。