对于image_data的要求是这样的 string, JPEG encoding of RGB image
example = tf.train.Example(features=tf.train.Features(feature={ ‘img_name’: _bytes_feature(img_name.encode(‘ascii’)), ‘img_height’: _int64_feature(height), ‘img_width’: _int64_feature(width), # ‘img’: bytes_feature(image_data), ‘img’: _bytes_feature(image_data), ‘gtboxes_and_label’: _bytes_feature(gtboxes_and_label.tostring()) }))
tfrecord_writer.write(example.SerializeToString())
image_data = tf.gfile.FastGFile(filename, ‘rb’).read() # raw
image_data1 = cv2.imread(filename) image_data = image_data1.tostring()
image_data2 = skimage.io.imread(filename) image_data = image_data2.tostring()
image1 = Image.open(filename) image2 = image1.convert(‘RGB’) image_data = image2.tobytes()
以上写了四种读数据的方法,但是我将tfrecord重新读出来的时候只有# v2和#v4能正确读出来我的图片信息,我理解的是将图片读成二进制就行了,但是我读成base64格式的也不行
我将图片读出来的那部分这样写的 img = tf.decode_raw(features[‘img’], tf.uint8)
先埋个坑在这,日后来填,若有大神能指点一二就更好了!!!