使用python写的opencv实时监测和解析二维码和条形码-创新互联
今天,我实现了一个很有趣的demo,它可以在视频里找到并解析二维码,然后把解析的内容实时在屏幕上显示出来。
成都创新互联公司服务项目包括南郑网站建设、南郑网站制作、南郑网页制作以及南郑网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,南郑网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到南郑省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!然后我们直入主题,首先你得确保你装了opencv,python,zbar
等环境。然后这个教程对于学过opencv的人可能更好理解,但是没学过也无妨,到时候也可以直接用。
比如我的电脑上的环境是opencv2.4.x,python2.7,和最新的zbar,在Ubuntu 12.12的系统下运行的
假设你的opencv已经安装好了,那么我们就可以安装zbar
你可以先更新一下
sudo apt-get update
然后在输入
sudo apt-get install python-zbar
如果环境装好了,我们就可以接着下一步操作了。
首先让我们来实现找到在图片里面找到二维码的功能
先新建一个python文件叫做;simple_barcode_detection.py
代码如下,这定义了一个函数,实现从一副图片里面找出二维码的位置
我们要检测的二维码的图片
import numpy as np import cv2 def detect(image): # 把图像从RGB装换成灰度图 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 使用Scharr操作(指定使用ksize = -1)构造灰度图在水平和竖直方向上的梯度幅值表示。 gradX = cv2.Sobel(gray, ddepth = cv2.cv.CV_32F, dx = 1, dy = 0, ksize = -1) gradY = cv2.Sobel(gray, ddepth = cv2.cv.CV_32F, dx = 0, dy = 1, ksize = -1) #Scharr操作后,从x的梯度减去y的梯度 gradient = cv2.subtract(gradX, gradY) gradient = cv2.convertScaleAbs(gradient) #经过上面的操作后看起来是这样
标题名称:使用python写的opencv实时监测和解析二维码和条形码-创新互联
网页地址:http://azwzsj.com/article/dcsshj.html