2016-11-26 27 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, hierarchy = cv2.findContours(...) 

喜歡的東西

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

我不知道爲什麼出現這種情況,以避免它。再一次,我對python和cv2很新。但是,這確實解決了我的錯誤。

相關問題