【问题标题】:TypeError: Invalid dimensions for image data in tensorflowTypeError:张量流中图像数据的尺寸无效
【发布时间】:2017-09-19 14:57:36
【问题描述】:

我正在编译这个程序并且工作正常,但是我有一些我没有得到的困惑,

到目前为止,我的代码是:

import matplotlib.image as mi
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]="3"
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
image="dd.jpg"
read=mi.imread(image)
print(read.shape)
plac=tf.placeholder("uint8",[None,None,3])


slice=tf.slice(read,[500,2000,0],[2000,1,0])
with tf.Session() as tff:
    use1=tff.run(slice,feed_dict={plac:read})

    print(use1.shape)

plt.imshow(use1)
plt.show()

所以我的疑问是:

[None, None,3]

中实际上是什么
plac=tf.placeholder("uint8",[None,None,3]

如果我学得正确然后 None , None = row , col

placeholder("unit8",[row,col,3] 

我理解它是一个大小不受限制的矩阵

但是这里的 3 是什么??

第二个问题是如果我使用 [2000,-1,-1] 那么它可以工作,但如果我使用 [2000,1,0] 那么它不工作所以我不明白为什么我必须使用[-1,-1] ?

编辑:我试过这个 answer plt.imshow(use1.squeeze()) 但它不起作用

【问题讨论】:

标签: python image matrix matplotlib tensorflow


【解决方案1】:

从您的代码看来,3 是图像中的通道数(每个 RGB 通道一个通道)。关于你的第二个问题,检查readtf.slice 的输入是否满足here 提到的要求(链接也解释了-1)。

【讨论】:

    猜你喜欢
    • 2019-07-06
    • 2016-07-25
    • 2018-10-31
    • 2021-12-08
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    相关资源
    最近更新 更多