今天,我實(shí)現(xiàn)了一個(gè)很有趣的demo,它可以在視頻里找到并解析二維碼,然后把解析的內(nèi)容實(shí)時(shí)在屏幕上顯示出來(lái)。
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括南鄭網(wǎng)站建設(shè)、南鄭網(wǎng)站制作、南鄭網(wǎng)頁(yè)制作以及南鄭網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,南鄭網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到南鄭省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!然后我們直入主題,首先你得確保你裝了opencv,python,zbar
等環(huán)境。然后這個(gè)教程對(duì)于學(xué)過(guò)opencv的人可能更好理解,但是沒(méi)學(xué)過(guò)也無(wú)妨,到時(shí)候也可以直接用。
比如我的電腦上的環(huán)境是opencv2.4.x,python2.7,和最新的zbar,在Ubuntu 12.12的系統(tǒng)下運(yùn)行的
假設(shè)你的opencv已經(jīng)安裝好了,那么我們就可以安裝zbar
你可以先更新一下
sudo apt-get update
然后在輸入
sudo apt-get install python-zbar
如果環(huán)境裝好了,我們就可以接著下一步操作了。
首先讓我們來(lái)實(shí)現(xiàn)找到在圖片里面找到二維碼的功能
先新建一個(gè)python文件叫做;simple_barcode_detection.py
代碼如下,這定義了一個(gè)函數(shù),實(shí)現(xiàn)從一副圖片里面找出二維碼的位置
我們要檢測(cè)的二維碼的圖片
import numpy as np import cv2 def detect(image): # 把圖像從RGB裝換成灰度圖 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 使用Scharr操作(指定使用ksize = -1)構(gòu)造灰度圖在水平和豎直方向上的梯度幅值表示。 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) #經(jīng)過(guò)上面的操作后看起來(lái)是這樣