目前,我正在为Inception v3提供以下测试:
image_data = tf.gfile.FastGFile(image_path, 'rb').read()
softmax_tensor = sess.graph.get_tensor_by_name('final_result:0')
predictions = sess.run(softmax_tensor,
{'DecodeJpeg/contents:0': image_data})
但相反,我需要在将图像提供给CNN之前对其进行裁剪,因此我使用imread和裁剪矩阵。但是如果我这样做,我不能将其用作image_data因为它需要 jpeg 二进制文件。
predictions = sess.run(softmax_tensor, {'DecodeJpeg/contents:0': cv2.imencode('.jpg', image_data)[1].tostring()})
通过使用 PIL 而不是 OpenCV 解决。可以直接输入它,而且绘图功能似乎比我用于 OpenCV 的功能更好。
img = Image.open(tstImg)
image = img.resize((1936, 1296), Image.ANTIALIAS)
crop_img = image.crop((x, y, x+x_adds, y+y_adds))
predictions = sess.run(softmax_tensor, {'DecodeJpeg:0': crop_img})