Python 整形图像误差

Python 整形图像误差,python,numpy,reshape,Python,Numpy,Reshape,结果中的错误为: 回溯最近一次呼叫上次: 文件。/CNN_Numbers.py,第238行,在 test_image1=np.restrapeim2,[1784]将其重塑为我们的输入占位符形状 文件/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/fromneric.py,第257行,在“重塑”中 return _wrapfunca,'重塑',新闻形态,订单=订单 文件

结果中的错误为:

回溯最近一次呼叫上次: 文件。/CNN_Numbers.py,第238行,在 test_image1=np.restrapeim2,[1784]将其重塑为我们的输入占位符形状 文件/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/fromneric.py,第257行,在“重塑”中 return _wrapfunca,'重塑',新闻形态,订单=订单 文件/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/fromneric.py,第52行,在_wrapfunc中 返回getattrobj,方法*args,**kwds ValueError:无法将大小为3136的数组重塑为形状1784
我猜你的图像有3+1个颜色通道。您需要将其重塑为[784,4]。

是im的2D阵列吗?如果不是,则在不先添加另一个维度的情况下,无法将其重塑为二维数组。是的,im是维度为256*256的二维数组图像,但总图像大小不匹配:256 x 256!=1 x 784。在重塑图像之前调整图像的大小。m=im.resize28,28,image.ANTIALIAS在这里我试图将图像的尺寸改为28*28。你能和我分享一下我在这一部分中感到困惑的解决方案吗?你可能想在重塑im2之前检查它的尺寸。谢谢你,这对我很有用。我真的很感谢你抽出时间。
im=Image.open("/Users/shalinsavalia/Desktop/CNN_Numbers/Number_7.jpg")
im
im=im.resize((28, 28), Image.ANTIALIAS) # resize the image
im = np.array(im)                       # convert to an array
print(im)
im2=im/np.max(im).astype(float)         # normalise input
test_image1=np.reshape(im2, [1,784])    # reshape it to our input placeholder shape

pred=(sess.run(y_predicted,
               feed_dict={
                   x:test_image1
               }))
predicted_class=np.argmax(pred)
print "Predicted class : {}" .format(predicted_class)