欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]用python写了个条形码图片识别程序

[原创]用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))

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

上传的附件 780672318862.png
output.png

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功