bagademosuki
bagademosuki
2017-07-25 02:21

如何用python读取一个RGB图成ndarray?

  • python
  • tensorflow
  • 编码
  • 图片识别
  • numpy

被赶鸭子上架学tensorflow。。。python都是现学所以。。。
我按照网上教程做了一个基于CIFAR-10的模型,现在想要输入一个外部任意图来确认是否能识别。
我已经把外部图处理成了32X32的RGB,用二进制保存成文件image.rgb。
希望能用python读出图片并用相同的方式处理(numpy.ndarray)以求得到准确的结果。
CIFAR的处理截取如下:

 def load_CIFAR10_batch(filename):
  '''load data from single CIFAR-10 file'''

  with open(filename, 'rb') as f:
    if sys.version_info[0] < 3:
      dict = pickle.load(f)
    else:
      dict = pickle.load(f, encoding='latin1')
    x = dict['data']
    y = dict['labels']
    print(type(x))
    x = x.astype(float)
    y = np.array(y)
  return x, y

def load_data():
  '''load all CIFAR-10 data and merge training batches'''

  xs = []
  ys = []
  for i in range(1, 6):
    filename = 'cifar-10-batches-py/data_batch_' + str(i)
    X, Y = load_CIFAR10_batch(filename)
    xs.append(X)
    ys.append(Y)

  x_train = np.concatenate(xs)
  y_train = np.concatenate(ys)
  # print("shape: ", x_train.shape, y_train.shape)
  del xs, ys

请问这边读取的代码要如何写。。。
谢谢
========================
补充一下,图片保存的格式是unsigned char,我试了好多办法,有几个都是错在这个上面。。。
========================
补充2:读出的bytes部分如下,怎么把每个字节都变成ndarry的一项呢?
b'\x9a', b'\x9b', b'\x9c', b'\x9d', b'\xa1', b'\x9d', b'\x9e', b'\x9f', b'\x9d', b'\x9e', b'\x99', b'\x9c', b'\x9a', b'\x9b', b'\x9c', b'\x9a', b'\x9b', b'\x9a', b'\x99', b'\x99', b'\x9a', b'\x9a', b'\x99', b'\x99', b'\x9a', b'\x9a', b'\x9b', b'\x9b', b'\x9a', b'\x9b', b'\x9c', b'\x9c', b'\x9c', b'\x9c', b'\x94', b'\x9d', b'\xa3', b'\xa0', b'\x9f', b'\x9f', b'\xa1', b'\x9e', b'\x97', b'\x9b', b'\x97', b'\x99', b'\x9c', b'\x98', b'\x9b', b'\x9b', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x99', b'\x9a', b'\x9a', b'\x9b', b'\x9b', b'\x9a', b'\x9b', b'\x9b', b'\x9c', b'\x97', b'\x95', b'\x95', b'\x98', b'\xa5', b'\x8d', b'v', b'\x87', b'\x9f', b'\x9e', b'\x9a', b'\x9a', b'\x9b', b'\x98', b'\x99', b'\x9d', b'\x9b', b'\x9b', b'\x9b', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9b', b'\x9b', b'\x9a', b'\x9a', b'\x9b', b'\x9b', b'\x97', b'\x93', b'\x95', b'\x9d', b'\xa3', b'', b'w', b'm', b'\x9a', b'\x9c', b'\x9b', b'\x98', b'\x9b', b'\x97', b'\x97', b'\x9c', b'\x9b', b'\x9b', b'\x9b', b'\x9b', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x99', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x92', b'\x91', b'\x95', b'\x8b', b'd', b'=', b'6', b'H', b'\x86', b'\xa3', b'\x99', b'\x9b', b'\x96', b'\x99', b'\x9e', b'\x99', b'\x9a', b'\x9b', b'\x9b', b'\x9b', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x99', b'\x9a', b'\x9a', b'\x9a', b'\x99', b'\x99', b'\x99', b'\x9a', b'\x96', b'\x95', b'\x9a', b']', b'W', b'f', b'$', b'\x13', b'Q', b'\xa5', b'\x9a', b'\x9d', b'\x98', b'\x9b', b'\x9c', b'\x9a', b'\x99', b'\x9a', b'\x9a', b'\x9b', b'\x9a', b'\x9a', b'\x9a', b'\x9a', b'\x99', b'\x9a', b'\x99', b'\x99', b'\x99', b'\x99', b'\x99', b'\x9a', b'\x94', b'\x97', b'z', b'u', b'x', b'~', b'g', b'2', b'"', b'\x8a', b'\x9f', b'\x98', b'\x9a', b'\x97', b'\x94', b'\x99', b'\x98', b'\x99', b'\x99', b'\x9a', b'\x9a', b'\x9b', b'\x9a', b'\x9a', b'\x9a', b'\x99', b'\x99', b'\x98', b'\x98', b'\x98', b'\x99', b'\x9a', b'\x95', b'\x97', b'x', b'q', b'q', b'{', b'\x82', b'_', b'\x1d', b'j', b'\xa9', b'\x98', b'\x99', b'\x97', b'\x98', b'\x97', b'\x98', b'\x98', b'\x98', b'\x99', b'\x9a', b'\x9b', b'\x9a', b'\x9a', b'\x9a', b'\x99', b'\x99', b'\x98', b'\x97', b'\x98', b'\x99', b'\x9a', b'\x92', b'\x9a', b'u', b'R', b'h', b's', b'\x89', b'\x7f', b'I', b'C', b'\x93', b'\xa0', b'\x91', b'\x95', b'\x97', b'\x99', b'\x98', b'\x9b', b'\x97', b'\x99', b'\x9c', b'\x99', b'\x98', b'\x9a', b'\x9a', b'\x99', b'\x99', b'\x98', b'\x98', b'\x97', b'\x98', b'\x9a', b'\x94', b'\x9c', b'\x83', b'?', b'P', b'i', b'\x8d', b'\x9f', b'\x90', b'', b';', b'z', b'\x9d', b'\x91', b'\x99', b'\x98', b'\x9c', b'\x9a', b'\x98', b'\x99', b'\x98', b'\x99', b'\x9a', b'\x99', b'\x97', b'\x98', b'\x98', b'\x99', b'\x99', b'\x98', b'\x98', b'\x99', b'\x93', b'\x95', b'\x9e', b'_', b'7', b'\', b'\x8a', b'\x9b', b'\x95', b'\x89', b'K', b' ', b'y', b'\x9a', b'\x8f', b'\x9c', b'\x9b', b'\x99', b'\x9b', b'\x9b', b'\x98', b'\x96', b'\x95', b'\x97', b'\x96', b'\x97', b'\x98', b'\x98', b'\x99', b'\x99', b'\x9a', b'\x99', b'\x92', b'\x9a', b'\x93', b'\x8f', b')', b'0', b'\x87', b'\x92', b'\x91', b'\x98', b'n', b'\x16', b'1', b'\x9f', b'\x96', b'\x97', b'\x9e', b'\x9d', b'\x99', b'\x95', b'\x99', b'\x9a', b'\x94', b'\x94', b'\x96', b'\x97', b'\x97', b'\x97', b'\x97', b'\x99', b'\x9a', b'\x9a', b'\x96', b'\x8e', b'\x92', b'\x98', b'f', b'3', b'\x81', b'\x8f', b'\x99', b'\x9b', b'\x82', b'H', b'\x18', b'Z', b'\xa1', b'\x98', b'\x97', b'\x9a', b'\x9a', b'\x96', b'\x97', b'\x99', b'\x97', b'\x95', b'\x95', b'\x96', b'\x97', b'\x97', b'\x97', b'\x99', b'\x99', b'\x99', b'\xa1', b'\x92', b'\x91', b'\x94', b'\x82', b'o', b'q', b'\x8f', b'\x99', b'\x96', b'\x97', b'', b'\r', b'\x16', b'B', b'\x8c', b'\xa2', b'\x9d', b'\x9a', b'\x9c', b'\x97', b'\x93', b'\x97', b'\x96', b'\x95', b'\x95', b'\x97', b'\x99', b'\x9a', b'\x99', b'\x98', b'\x98', b'\x99', b'\x98', b'\x91', b'\x94', b'\x83', b'x', b'j', b'u', b'\x9a', b'\xa0', b'~', b'@', b'\x1a', b'$', b'\x18', b',', b'\x8d', b'\x9e', b'\x99', b'\x97', b'\x99', b'\x95', b'\x96', b'\x94', b'\x95', b'\x94', b'\x96', b'\x9a', b'\x9b', b'\x99', b'\x98', b'\x98', b'\xa1', b'\x95', b'\x8f', b'\x94', b'\x8a', b's', b'j', b'b', b'\x83', b'\xa3', b'\x84', b'H', b'1', b'4', b'+', b'"', b',', b'\x87', b'\xa2', b'\x95', b'\x9a', b'\x97', b'\x95', b'\x95', b'\x95', b'\x92', b'\x93', b'\x97', b'\x99', b'\x97', b'\x96', b'\x99', b'\x9e', b'\x98', b'\x92', b'\x92', b'\x8a', b'{', b'b', b'r', b'u', b'\x9b', b'\x8e', b'A', b'E', b'M', b'6', b' ', b'\x15', b'-', b'\x97', b'\x9a', b'\x96', b'\x97', b'\x99', b'\x94', b'\x96', b'\x93', b'\x8e', b'\x95', b'\x96', b'\xa0', b'\x9c', b'\x96', b'\x9f', b'\x95', b'\x92', b'\x96', b'\x90', b'~', b'o', b'n', b'i', b'l', b'P', b'E', b':', b'L', b"'", b'\x16', b'\x11', b'\t', b'E', b'\x9f', b'\x96', b'\x98', b'\x95', b'\x97', b'\x94', b'\x96', b'\x83', b'\x89', b'\x94', b'Z', b'\x89', b'\x98', b'\x9e', b'\x95', b'\x92', b'\x93', b'\x92', b'\x86', b'\x80', b'e', b'd', b'H', b'4', b'?', b'\x1d', b'=', b'5', b'\x13', b'\x11', b'\x12', b'\x0b', b'i', b'\xa2', b'\x98', b'\x95', b'\x99', b'\x98', b'\x92', b'\x86', b'\x89', b'\x83', b'\x00', b'N', b'\xa1', b'\x9b', b'\x94', b'\x91', b'\x90', b'\x91', b'\x8b', b'\x8a', b'n', b'', b'Q', b'\x1c', b'/', b'9', b'6', b'@', b'-', b' ', b'\x11', b'\x19', b'\x1e', b'\x8a', b'\x95', b'\x95', b'\x95', b'\x95', b'\x93', b'\x88', b'\x8a', b'g', b'\x00', b'@', b'\x9d', b'\x9b', b'\x92', b'\x90', b'\x93', b'\x92', b'\x8d', b'\x8c', b'\x87', b'@', b'+', b'*', b'$', b',', b'\x1c', b'3', b'<', b'#', b'\x1d', b'#', b'\x1e', b'[', b'\x9c', b'\x8f', b'\x93', b'\x8f',

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答