[原创]用python写了个条形码图片识别程序
做到一个题目,要编程获取UPC-A条形码的值.于是研究了一天的条形码,终于可以用肉眼看出值来,但是比较伤眼睛,还是写了个算法来搞定它吧.python语法不是很懂,边百度边写,算法是看了一篇老外的文章,受到启发想出来的,非常简陋,只能保证对这张图片有效
老外文章http://www.buzzle.com/articles/how-to-read-universal-product-code-upc-barcodes.html

直接上代码:
from PIL import Image
def clean(img):
A = img.load()
ss = ''
for x in xrange(img.size[0]):
ss += str(A[x, 10])
ls = []
while len(ss) > 0:
start = ss[0]
j = 1
while j < len(ss) and ss[j] == start :
j += 1
ls.append(j)
ss = ss[j:]
return ls
def GetUPC_A(t):
t = t[4:-4]
for i in xrange(len(t)):
t[i] = (t[i] + 1) / 4
t = t[:24] + t[29:]
s = ''
for i in xrange(len(t)):
s += str(t[i])
upca = ''
for i in range(0, len(s) / 4):
n = i * 4
upca += dic[s[n:n + 4]]
print upca
dic = {'3211':'0', '2221':'1', '2122':'2', '1411':'3', '1132':'4', '1231':'5', '1114':'6', '1312':'7', '1213':'8', '3112':'9'}
img = Image.open('780672318862.png')
GetUPC_A(clean(img))

没有注释,但愿你能看懂!
