上述代码为什么不显示图像
时间: 2023-12-26 15:17:03 浏览: 140
代码中使用了 `plt.imshow` 函数来显示图像,但是在该函数中缺少图像数据的参数。可以将 `plt.imshow()` 改为 `plt.imshow(img)`,将读取的图像数组 `img` 作为参数传入,即可显示图像。另外,还需要添加 `plt.show()` 函数来将图像显示出来。修改后的代码如下:
```
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import cv2
@tf.autograph.experimental.do_not_convert
def predict(image_path):
img = Image.open(image_path).convert("L")
img = np.array(np.array(img)/255).reshape((1,28,28,1))
img = tf.cast(img, dtype=tf.float64)
checkpoint.restore(manager.latest_checkpoint)
logits = cnnmodel.predict(img)
prob = tf.nn.softmax(logits, axis=1)
pred = tf.argmax(prob, axis=1)
pred = tf.cast(pred, dtype=tf.int32)
print("经过识别大概率认为这个数字是", int(pred[0]))
print(prob)
img = cv2.imread(image_path)
plt.imshow(img)
plt.show()
predict(r"D:\QQDownload\手写数字识别\5.png")
```
这样修改后就能够正常显示图像了。
阅读全文