import cv2
import numpy
list_pixel=[]
list_label=[]
for i in range(0,10):
for j in range(0,10):
list_pixel.append(cv2.imread("C:\\Users\\kimcho\\Desktop\\testdata\\testdata_"+str(i)+"_0"+str(j)+".png",0))
list_label.append(i)
j=0
list_pixel.pop(0)
list_label.pop(0)
list_pixel=numpy.array(list_pixel)
print(list_pixel)
print(list_pixel.shape)
print(list_pixel[0].shape)
当我使用numpy.array()处理'list'时如何处理?我想通过模仿keras来制作数据集。但是,我制作的数据集让我不满意。我希望它像keras一样工作,以返回如下所示的值:
它可以返回值(60000,28,28)
但是对于我的数据集,它只能像这样返回:
仅返回值(99,)-我得到了99张图片,我想将其像素加载到list_pixel
这是我的代码:
希望任何人都可以帮助我解决这个问题。非常感谢!!!
答案 0 :(得分:0)
When using cv2.imread
中设置图像样式,您已经将图像加载为numpy数组。
一种简单的方法如下:
cstid = models.ForeignKey(customer, on_delete=models.CASCADE, blank=True, null=True)
让我们在一个简单的场景上尝试一下:我们假设只有一张图像 28x28 ,例如:
假设它在路径import cv2
import numpy as np
list_label = np.arange(0, 10)
path = "C:\\Users\\kimcho\\Desktop\\testdata\\testdata_{0}_0{1}.png"
list_pixel = np.array([
cv2.imread(path.format(i, j), 0) for i in range(0, 10)
for j in range(0, 10)
])
中。
my/path/image.png
运行import cv2
import numpy as np
list_label = np.arange(0, 10)
path = "my/path/image.png"
list_pixel = np.array([
cv2.imread(path,0) for i in range(0, 10)
for j in range(0, 10)
])
会得到list_pixel.shape
。