精华内容
下载资源
问答
  • Iot标签-电路方案

    2021-04-25 01:12:54
    今天,照例来到这家店里准备买菜,大家伙儿自觉地站了两排,向前推进得似火比平常慢了点。正在选菜中,老板娘不知对谁发了话,“哎,大妈,您稍等会儿啊,今天缺两人没来吶”。今天小两口子一同协作:一称重...
  • 哦,对,你还记得每次大型考试答题卡上都会上监考老师分发给你的那个标签吗?还是条形码;甚至现在你随随便便逛超市或便利店,收银员或者自助机也都是通过扫商品条形码给你计价的。条形...

    在我们的日常生活中,处处可见条形码和二维码。

    在以前,我们去逛书店时,或者你现在随手拿起你身边的一本书,你肯定能看到书本的封页后面印有一排黑色线条组成的标签,也就是条形码;你去你们学校的自助机上借书还书时识别的也是条形码;哦,对了,你还记得每次大型考试答题卡上都会贴上监考老师分发给你的那个标签吗?还是条形码;甚至现在你随随便便逛个超市或便利店,收银员或者自助机也都是通过扫商品条形码给你计价的。条形码在我们的日常生活中真的是随处可见。

    到了后来,2016年之后,二维码也渐渐开始普及起来,现在二维码几乎成了我们日常生活的一部分:新朋友微信加个好友;上下班搭乘公交地铁;平时买东西付款;和别人收付款的当面交易;各个大小公司或者商场甚至地摊搞活动的时候也告诉你扫码有优惠。

    现在只要你出门,或者你不出门,你只要用手机,你是个网民,你就很难不接触到各种条形码与二维码。

    那么这些个条形码识别和二维码识别是怎么完成的呢?

    其实使用OpenCV和Zbar这两个python模块就可以实现二维码和条形码的识别。

    1.软件安装

    在Ubuntu上安装Zbar:

    $ sudo apt-get install libzbar0
    

    在MacOS系统中安装Zbar:

    $ brew install zbar
    

    另外还需要安装OpenCV:
    pip install opencv-python

    2.识别图片上的二维码或条形码

    # 导入模块
    
    from pyzbar import pyzbar
    
    import matplotlib.pyplot as plt
    
    import cv2
    
    # 读取图片
    
    image = cv2.imread('image.jpeg')
    
    # 找到图像中的条形码并进行解码
    
    barcodes = pyzbar.decode(image)
    
    def decode(image, barcodes):
    
        # 循环检测到的条形码
    
        for barcode in barcodes:
    
            # 提取条形码的边界框的位置
    
             # 画出图像中条形码的边界框
    
            (x, y, w, h) = barcode.rect
    
            cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 5)
    
            # 条形码数据为字节对象,所以如果我们想在输出图像上
    
            # 画出来,就需要先将它转换成字符串
    
            barcodeData = barcode.data.decode("utf-8")
    
            barcodeType = barcode.type
    
            # 绘出图像上条形码的数据和条形码类型
    
            text = "{} ({})".format(barcodeData, barcodeType)
    
            cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX,.8, (255, 0, 0), 2)
    
            # 向终端打印条形码数据和条形码类型
    
            print("[INFO] Found {} barcode: {}".format(barcodeType, barcodeData))
    
        plt.figure(figsize=(10,10))
    
        plt.imshow(image)
    
    plt.show()
    
    #. 识别二维码
    
    decode(image, barcodes)
    
    # 读取图片
    
    image = cv2.imread('image2.png')
    
    # 找到图像中的条形码并进行解码
    
    barcodes = pyzbar.decode(image)
    
    # 识别条形码
    
    decode(image, barcodes)
    

    输出结果
    [INFO] Found QRCODE barcode: http://weixin.qq.com/r/-irJ0RbEbUsSrVKy93-s

    [INFO] Found CODE128 barcode: http://weixin.qq.com/r/-irJ0RbEbUsSrVKy93-s

    3.识别视频中的二维码或条形码

    from pyzbar import pyzbar
    
    import cv2
    
    # 获取二维码或条形码
    
    def decode(image):
    
        # 找到图像中的条形码并进行解码
    
        barcodes = pyzbar.decode(image)
    
        # 循环检测到的条形码
    
        for barcode in barcodes:
    
            # 提取条形码的边界框的位置
    
             # 画出图像中条形码的边界框
    
            (x, y, w, h) = barcode.rect
    
            cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 5)
    
            # 条形码数据为字节对象,所以如果我们想在输出图像上
    
            # 画出来,就需要先将它转换成字符串
    
            barcodeData = barcode.data.decode("utf-8")
    
            barcodeType = barcode.type
    
            # 绘出图像上条形码的数据和条形码类型
    
            text = "{} ({})".format(barcodeData, barcodeType)
    
            cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX,.8, (255, 0, 0), 2)
    
    # 读取摄像头
    
    cap = cv2.VideoCapture(0)
    
    while(True):
    
        ret, frame = cap.read()
    
        if ret==True:
    
            # 获取二维码或条形码
    
            decode(frame)
    
            # 显示图片
    
            cv2.imshow('frame',frame)
    
            # 按q退出
    
            if cv2.waitKey(1) & 0xff == ord('q'):
    
                break
    
        else:
    
            break
    
    cap.release()
    
    cv2.destroyAllWindows()
    

    识别效果视频地址

    参考资料: www.pyimagesearch.com

    4.作者介绍

    5.项目打包

    关注公众号:Python数据分析和人工智能
    后台回复:1207

    展开全文
  • python list 的复制拷贝的简单介绍

    万次阅读 2012-10-13 13:10:26
    list ”=“的效果 在python中,又时需要复制一个list,但是用"="是达不到复制的效果的。...换句话说,是给同一件商品贴了两个标签。如下图: 可以做一下测试: >>> l1=["hello","world"] >>> l2=l1 >>> l

    list ”=“的效果

    在python中,又时需要复制一个list,但是用"="是达不到复制的效果的。

    比如:

    l1=['hello','world']
    l2=l1

    这时候,只不过又添加了一个指向list的”指针“l2.换句话说,是给同一件商品贴上了两个标签。如下图:


    可以做一下测试:

    >>> l1=["hello","world"]
    >>> l2=l1
    >>> l1[0]="world"
    >>> print l1
    ['world', 'world']
    >>> print l2
    ['world', 'world']

    如果要对list进行复制,建议采用切片的方法:

    l2=l1[:],例如:

    >>> l1=["hello","world"]
    >>> l2=l1[:]
    >>> print l1
    ['hello', 'world']
    >>> print l2
    ['hello', 'world']
    >>> l1[0]="world"
    >>> print l1
    ['world', 'world']
    >>> print l2
    ['hello', 'world']



    展开全文
  • 集成条形码标签打印功能,对于无条码的商品同样可自行上条码标签录入到本系统中销售。本系统配合普通电脑即可安装使用,比专业pos机管理更方便灵活,成本更低。系统初始密码为123,不需要复杂设置,安装后即可...
  • 系统对商品分享自动进行中文分词生成标签,并可自动判断宝贝所属分类,降低分享的复杂度和管理的工作量。 系统采用向导式安装程序,无经验的站长用户也可以轻松完成安装部署。 系统设计大量自定义功能,所有...
  • 而且发展电子商务,不是一家公司就能够推动的产业,需要更多专业人士共同参与 和奋斗,共同发展。 通过百顺商城,不仅仅是帮您搭建一完整的电子商务平台,她本身还具备着强大的自我推广 、自我营销功能。就是...
  • 而且发展电子商务,不是一家公司就能够推动的产业,需要更多专业人士共同参与 和奋斗,共同发展。 通过百顺商城,不仅仅是帮您搭建一完整的电子商务平台,她本身还具备着强大的自我推广 、自我营销功能。就是...
  • 040 制作商品简易标签 104 ◎求积函数 106 041 计算车间每小时生产产值 106 042 跨表计算总产值 108 043 根据三边求普通三角形的面积 109 044 计算超市打折活动的总营业额 110 045 制作中文九九乘法表 ...
  • ,如果红色框出的是上传的两个模板目录。 2、上传后,在网站后台,网站设置-->界面设置-->模板设置 找到你新添加的模板安装上。如图 3、由于模板是和城市绑定的。所以你要把某个城市的模板设置成你刚安装的...
  • 基于这样的认知,我们独创性的开发校友黄页功能,广大校友可以随意发布自己供求,商品,招聘, 企业,招商,合作等信息,信息按地域,按行业分门别类排列,便于方便的查找。 4) 教师专题功能 我们充分考虑...
  • HTML与CSS入门经典(第7版

    热门讨论 2012-09-03 21:50:17
    态网页,还介绍HTML和CSS技术的种实际应用??创建令人印象深刻的 eBay拍卖网页和引人入胜的博客;第五部分阐述如何创建网站,包括网站的 组织和管理以及如何让网站在搜索结果中靠前;第六部分为附录,列出重 ...
  • 特别是新增加第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构...
  • 特别是新增加第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构...
  • 特别是新增加第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构...
  • 特别是新增加第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构...
  • 特别是新增加第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构...
  • 会计理论考试题

    2012-03-07 21:04:40
    A、菜单栏 B、复选栏 C、标签 D、滚动条 35.有关Windows屏幕保护程序的说法,正确的是___A____。 A、可以减少屏幕损耗 B、可以节省计算机内存 C、可以保障系统安全 D、可以增加动感 36.记录在存储介质上的一组相关...
  • iPhone开发秘籍(第2版)--源代码

    热门讨论 2012-12-11 13:51:22
    Erica开发十多本地应用。他常在其iPhone编程博客发表些极有见地的文章。 目录 封面 -26 封底 -25 扉页 -24 版权 -23 版权声明 -22 译者序 -20 致谢 -19 前言 -18 目录 -9 第1章 iPhone SDK简介 1 1.1 iPhone...
  • iPhone开发秘籍(第2版)--详细书签版

    热门讨论 2012-12-11 13:42:25
    Erica开发十多本地应用。他常在其iPhone编程博客发表些极有见地的文章。 目录 封面 -26 封底 -25 扉页 -24 版权 -23 版权声明 -22 译者序 -20 致谢 -19 前言 -18 目录 -9 第1章 iPhone SDK简介 1 1.1 iPhone...
  • 实例151 不借助第3个变量实现两个变量互换 实例152 计算加权平均值 实例153 检查参数是否成功传递给用户自定义过程 实例154 使用递归过程实现阶乘运算 6.2 综合应用 实例155 制作改变窗体颜色的自定义过程 ...
  • 实例151 不借助第3个变量实现两个变量互换 实例152 计算加权平均值 实例153 检查参数是否成功传递给用户自定义过程 实例154 使用递归过程实现阶乘运算 6.2 综合应用 实例155 制作改变窗体颜色的自定义过程 ...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

商品贴了两个标签