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を予測する方法
これは28x28画像ではないため、アレイのプロパティはMNISTデータベースとはかなり異なります。
私は何かのためにそれを行うために線形変換を実行する方法はありますか?あなたが最初のコンボリューションの前にサイズ変更操作を追加することができます
おかげ
重要なのはMNISTで訓練されたモデルを使用していますか? Pythonで利用できる光学式文字認識(OCR)用ライブラリのいずれかを使って、同じ結果をもっと簡単に実現できます。あなたの番号が手書きではないという事実を特に考慮してください。 –
@MartinValgurこの問題を解決する答えは非常に役立ちますが、別のソースからの数字を認識するためにMNISTのものをどのように適応させるかを学ぶことができれば本当に素晴らしいことになります。 私はpytesseractを試しましたが、多くの不一致の数字に終わってしまいました。 – EduGord