2016-11-26 13 views
0

私は英語以外の言語の手書き数字のためのデータベースを作りたいと思っています。手書き数字のサンプルは画像( 'pic.jpg')としてスキャンされます。サンプルの空のシートは、正方形のセルを有するExcelのフォーマットであり、次にプリントアウトされた。各ページに10行×10列の表。pythonで画像の各四角形の内側を抽出します。

問題は、各番号にラベルを付け、その番号(番号が内部に書かれている正方形)の画像の情報を抽出し、ニューラルネットワークを使用して訓練したいが、どうすればそれをPython ? 以下のようにこれまでのところ、私は黒と白に変更し、画像を読み取って、黒と白のフォーマット(「image2.jpg」)を保存します。私も最初の画像からテーブルを抽出し、やってみたかった

import cv2 
import numpy as np 
import matplotlib.pyplot as plt 

from PIL import Image 
from scipy.misc import imsave 

BW = cv2.imread('pic.jpg', cv2.IMREAD_GRAYSCALE)#TO GET rid of alpha 
#256/2 = 128 
BW[BW < 128]=0 
BW[BW>=128]=255 
imsave("image2.jpg",BW) 

その次のプロセス。私は別のフォームを使用し、私がやった:

img = cv2.imread('pic.jpg') 
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
gray = cv2.GaussianBlur(gray,(5,5),0) 
thresh = cv2.adaptiveThreshold(gray,255,1,1,11,2) 
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, `cv2.CHAIN_APPROX_SIMPLE)` 

が、それは私とエラーになります「とValueError:あまりにも多くの値を解凍するには」、私はなぜか分からないのですか?

答えて

0

私は自分自身で合計cv2 noobですが、最近またこの問題に遭遇しました。私はこれがなぜ起こるかわからない

_, contours, _ = cv2.findContours(...) 

のようなものに、この

contours, hierarchy = cv2.findContours(...) 

を変更することにより、それを避けることができました。再び、私はpythonとcv2のかなり新しいです。しかし、これは私のエラーを修正しました。

関連する問題