选择图像矩阵的大小

时间:2018-02-15 14:11:30

标签: python-3.x image numpy

我在“单词检测器”上工作,我想用字母创建一个数据库。 我试图将字母图像(在.jpg上)转换为Numpy矩阵,但结果不可行。

我的节目带有'G'字母:

import numpy as np
from PIL import Image as img
g=img.open('G.png')
tabg=np.array(g)
print(tabg,tabg.shape)

以及该计划的结果:

[[[255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  ...
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]

 [[255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  ...
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]

 [[255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  ...
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]
  ... 
 [[255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  ...
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]

 [[255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  ...
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]

 [[255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  ...
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]] (28, 28, 4)

如果可以提供帮助,我会提供我的图片:G

如果可能,我想在矩阵大小=(28,28)上转换此结果。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您查看图片,并建议使用opencv lib中的cv2来阅读它。既然是

import numpy as np
import cv2

G = cv2.imread(‘%imagepath’,0) #open in gray scale or it will load the image into rgb
print(G.shape)

答案 1 :(得分:0)

因此分辨率为28 px x 28 px和4种颜色尺寸。我无法从docs找到它们(可能是RGBA),但也许您只是使用PIL自己的方法通过Image.convert将此图像转换为灰度:

import numpy as np
from PIL import Image as img
g=img.open('G.png')
g=g.convert(mode="L")
tabg=np.array(g)
print(tabg,tabg.shape)