Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从图像生成器打印图像_Python_Image Processing_Keras_Data Augmentation - Fatal编程技术网

Python 从图像生成器打印图像

Python 从图像生成器打印图像,python,image-processing,keras,data-augmentation,Python,Image Processing,Keras,Data Augmentation,我正在尝试绘制由图像生成器创建的图像。到目前为止,这是我提供给发电机的数据代码: train_img_gen = train_img_data_gen.flow_from_directory(os.path.join(training_dir, 'images'), target_size=(img_h, img_w),

我正在尝试绘制由图像生成器创建的图像。到目前为止,这是我提供给发电机的数据代码:

train_img_gen = train_img_data_gen.flow_from_directory(os.path.join(training_dir, 'images'),
                                                   target_size=(img_h, img_w),
                                                   batch_size=bs, 
                                                   class_mode=None, # Because we have no class subfolders in this case
                                                   shuffle=True,
                                                   interpolation='bilinear',
                                                   seed=SEED)
#edited part following the already existing answer on stackoverflow
x_batch, y_batch = next(train_img_gen)
for i in range (0,32):
    image = x_batch[i]
    plt.imshow(image.transpose(2,1,0))
    plt.show()
我问了这个问题,但没有成功

如何绘制(例如)由我的
imageGenerator
生成的前n个图像

编辑:

我添加了上面提到的问题中使用的代码,但我得到了以下错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-7-1a18ce1c1a76> in <module>
     54 valid_gen = zip(valid_img_gen, valid_mask_gen)
     55 
---> 56 x_batch, y_batch = next(train_img_gen)
     57 for i in range (0,32):
     58     image = x_batch[i]

ValueError: too many values to unpack (expected 2)
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
54 valid\u gen=zip(valid\u img\u gen,valid\u mask\u gen)
55
--->56 x\u批次,y\u批次=下一个(生产线)
57表示范围(0,32)内的i:
58图像=x_批次[i]
ValueError:要解压缩的值太多(应为2个)

最后我解决了这个问题,这是一个尺寸问题

工作守则是:

x= train_img_gen.next()
for i in range(0,4):
    image = x[i]
    plt.imshow(image)
    plt.show()
生成器为每次迭代返回一个具有形状
(4256256,3)
的矩阵,这意味着我们有4个大小为256x256的图像和3个通道(RGB)


ImageDataGenerator
一次处理4个图像的“块”(至少在这种情况下,我没有官方参考每次加载多少图像),因为它的主要目的是在训练模型时动态加载图像(避免在内存中预加载大量数据)。

您收到错误消息了吗?始终将完整的错误消息(从单词“Traceback”开始)作为文本(而不是屏幕截图)进行讨论(不是评论)。还有其他有用的信息。使用错误将结果分配到一个变量
result=next(train\u img\u gen)
编辑并打印它
print(result)
-它似乎只返回一个值,而不是您期望的两个值。可能您需要在
x\u batch=next(train\u img\u gen)
上运行。结果返回具有此形状的元素矩阵:(4、256、256、3),因此您可能有4个大小
256x256
和RGB(3)颜色的图像。您可以尝试显示
plt.imshow(结果[0])
plt.imshow(结果[1])
,等等。“它由x和y组成”是什么意思?图像和类
x= train_img_gen.next()
for i in range(0,4):
    image = x[i]
    plt.imshow(image)
    plt.show()