import numpy as np
import scipy.ndimage
from PIL import Image
import urllib.request
url = 'http://static.bn-static.com/pg/0rmrKX8jCvpmF8b7ab+coivEApi2iNNpgVTrfyFFA0g==.gif'
img = Image.open(urllib.request.urlopen((url)))
img = img.convert('1').convert('L') #convert to graysclae
# Optional to visualize it all:
# plt.imshow(img)
# plt.show()
# a = array(img)
# a = a.transpose()
# np.place(a,a==0,1)
# np.place(a,a==255,0)
# Croping only one number out of it and vectorize it with binary values.
data = array(img.crop((7, 0, 14, 15)))
np.place(data, data == 0, 1)
np.place(data, data == 255, 0)
plt.imshow(data, cmap=plt.cm.binary)
# visualize crop
plt.show()
# visualize matrix
data
我想用Tensorflow或任何需要预测哪些号码是在这种剪裁的图像,所以我可以继续这样做,直到所有的数字可以预料到的。Python的 - 如何使用MNIST预测np.darray具有不同的形状
数组属性与MNIST数据库有很大不同,因为这不是28x28图像。
有没有什么办法可以找出线性变换来为我或某物做些什么?
感谢
正在使用MNIST培训的模型很重要吗?您可以使用任何可用于Python的光学字符识别(OCR)库来更轻松地实现相同的结果。特别是考虑到你的号码不是手写的。 –
@MartinValgur任何解决这个问题的答案都会非常有帮助,但如果我能够学习如何调整MNIST的内容来识别来自其他来源的数字,这将是非常好的。 顺便说一句我已经尝试pytesseract和我结束了许多不匹配的数字。 – EduGord