999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenCV和Zbar的二維碼圖像提取與識別

2019-08-12 01:27:59潘觀潮王峰王宏武王曉灑劉進輝
電腦知識與技術 2019年16期

潘觀潮 王峰 王宏武 王曉灑 劉進輝

摘要:該文是在Ubuntu16的環境下,使用OpenCV開源視覺庫和Zbar開源二維碼識別庫,對帶有QR二維碼的圖片先進行二維碼提取,然后識別顯示。該文介紹了二維碼的概況,開發工具的配置,并詳細闡述了圖片中二維碼的定位提取過程:灰度轉化、高斯濾波、中值濾波、邊緣檢測、二值化、閉運算、膨脹、提取區域,以及二維碼的識別過程。

關鍵詞: OpenCV;Zbar;二維碼;識別;圖像處理

中圖分類號:TP319? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2019)16-0191-03

開放科學(資源服務)標識碼(OSID):

隨著經濟和科技的高速發展,智能手機在人們生活的普及促進了二維碼技術的發展與成熟,運用二維碼技術進行信息存儲與傳遞正變得越來越高效與便捷,例如微信/支付寶掃碼支付、二維碼身份認證、二維碼存儲信息等,這些都極大地方便了人們的學習、生活和工作。因此,對于二維碼圖像的提取與識別技術的相關研究也日趨重要,同時也更具研究價值。

1 二維碼簡介

二維碼 (2-dimensional bar code),又被稱為二維條碼,是現代生活中非常流行的一種編碼方式,最常見的形式是QR Code。二維碼將數據符號信息按照一定的幾何圖形規律記錄在二維平面分布的黑白相間的圖形中,這種編碼巧妙地利用計算機內部邏輯基礎的“0”“1”比特流的概念,使用若干個與二進制相對應的幾何形體來表示各種類型的數據信息[1]。相對于傳統的一維條形碼,二維碼能夠在橫向和縱向兩個方向,利用兩個維度對信息進行存儲,極大提高了信息存儲能力[2]。二維碼還具有可靠性強,效率高,成本低,易于制作,構造簡單,靈活實用,高密度,糾錯功能,多語言形式,可表示圖像等特點[3]。

在現實生活中拍攝到的二維碼圖片,除二維碼圖案外,通常還包含其他的背景信息,二維碼圖案只占其中的一部分。因此在識別二維碼前,應先定位出二維碼的大致區域,并將其提取出來,去掉無用的背景干擾信息,以提高識別的速度和準確率。

2.1 OpenCV與Zbar概述

OpenCV(Open Source Computer Vision Library),譯名為“開源計算機視覺庫”,是一個基于開源開發的跨平臺計算機視覺庫。OpenCV主要由一系列C函數和C++類組成,擁有包括500多個C函數的跨平臺的中高層API,它提供了大量的開源圖像算法,是計算機視覺領域中使用極為廣泛的圖像處理算法庫[4]。圖1所示為OpenCV的Logo圖形。

Zbar是一個開源軟件套件,主要用于從各種來源讀取二維碼/條形碼信息,例如視頻流、圖像文件和傳感器等。它支持許多流行的二維碼/條形碼類型,包括EAN-13 / UPC-A,UPC-E,EAN-8,Code 128,Code 39,Interleaved 2 of 5和QR Code。圖2所示為Zbar的Logo圖形。

2.2 開發工具配置

本文實驗在Ubuntu16系統上進行,因此在Ubuntu上實現對OpenCV和Zbar的配置。

安裝OpenCV之前,先要安裝它的依賴項libgtk2.0-dev、libjpeg-dev、libtiff4-dev等。接著在OpenCV官網上選擇OpenCV for Linux版本下載,會得到一個像opencv-3.4.6.zip這樣的壓縮包,將它解壓到任意目錄下。解壓后進入目錄,創建并進入build文件夾,分別執行cmake ..、make、sudo make install命令。至此,OpenCV編譯安裝完成,默認安裝在/usr/local目錄下。

之后安裝Zbar,首先要在官網上下載Zbar的源碼,選擇的是Source Code版本里的ZBar-0.10,之后對其解壓縮。解壓后進入文件夾,執行./configure –prefix="",此時默認安裝在/usr/local/bin目錄下。最后分別執行make、sudo make install命令。

3 二維碼提取過程

本實驗主要通過調用OpenCV中的函數實現二維碼的提取。其實現步驟為:(1)灰度轉化;(2)高斯平滑濾波;(3)中值濾波;(4)邊緣檢測;(5)二值化;(6)閉運算;(7)膨脹;(8)獲取碼的區域。

3.1 灰度轉化

做圖像處理時,灰度圖是個二維矩陣形式,相對于RGB圖的三個維度更容易處理,消除顏色干擾。cvtColor()函數是OpenCV里的顏色空間轉換函數,可以實現RGB顏色向灰度的轉換,代碼如下:

3.2 高斯平滑濾波

高斯濾波是一種線性平滑濾波,可以消除高斯噪聲。GaussianBlur()函數的作用是用高斯濾波器來模糊一張圖片,代碼如下:

3.3 中值濾波

中值濾波是一種非線性濾波方法,該方法在去除圖像噪聲的同時,又能很好地保留圖像的邊緣細節。因此該方法非常適用于二維碼圖像的正確識別過程。代碼如下:

3.4 邊緣檢測

邊緣檢測是圖像處理和計算機視覺中的基本問題,常用來提取目標區域的輪廓。圖像邊緣檢測可以大幅度減少圖像處理的數據量,有助于消除與二維碼識別不相關的背景圖像信息, 保留二維碼區域圖像信息。本文使用Sobel邊緣檢測算法,先分別求圖像X、Y方向的梯度,再將兩個方向的梯度結果進行疊加。代碼如下:

3.5 二值化

3.6 閉運算

3.7 膨脹

3.8 獲得碼的區域

4 二維碼識別過程

二維碼圖像提取完成后,就可以利用Zbar對二維碼進行識別,其步驟如下:1)初始化Zbar掃描器,并設置;2)獲取圖像信息,定義掃描范圍;3)掃描二維碼,得到數據。

4.1 初始化Zbar掃描器,并設置

4.2 獲取圖像信息,定義掃描范圍

設置好Zbar掃描器之后,讀入前面提取到的二維碼圖像image,先轉化為灰度圖像,然后獲得灰度圖像行列像素及地址信息,并構造一個Image對象,以此定義掃描范圍,代碼如下:

4.3 識別二維碼,得到數據

完成上述準備工作后,通過調用圖像掃描器的scan()方法,開始讀取圖像中的二維碼數據,并進行顯示,代碼如下:

5 結語

本文首先簡單介紹了二維碼的編碼、應用、特點等概況,接著對識別二維碼的開發環境進行配置,最后基于OpenCV實現了二維碼圖像的提取過程和基于Zbar實現了二維碼圖像的識別過程。經過多張圖片的實驗,二維碼識別效果好、識別率高,多數常用的二維碼以及條形碼均可成功識別。但對于少數背景干擾信息復雜、存在多個二維碼的圖片,識別效果欠佳,這有待進一步完善。

參考文獻:

[1] 楊軍,劉艷,杜彥蕊.關于二維碼的研究和應用[J].應用科技,2002(11).

[2] 徐國輝,陳婕嫻.手機二維碼技術原理及應用[J].信息與電腦,2013(1):18-19.

[3] 凌驍珺,王煜.二維碼技術的分析與研究[J].電腦知識與技術,2018,14(21):47-49.

[4] 賈小軍,喻擎蒼.基于開源計算機視覺庫OpenCV的圖像處理[J].計算機應用與軟件,2008(04):276-278.

[5] 毛星云.OpenCV3編程入門[M].北京:電子工業出版社,2015.

[6] Rafael C.Gonzalez,Richard E.Woods.數字圖像處理[M].2版.阮秋琦,譯.北京:電子工業出版社,2007.

【通聯編輯:代影】

主站蜘蛛池模板: 91美女视频在线| 久草热视频在线| 九九精品在线观看| 婷婷六月天激情| 亚州AV秘 一区二区三区| 色婷婷电影网| 激情视频综合网| 精品国产中文一级毛片在线看| 一本大道AV人久久综合| 中文字幕日韩丝袜一区| 国产无人区一区二区三区| 国产自产视频一区二区三区| 国产精品成人免费综合| 亚洲综合片| 国产精品久久自在自线观看| 久久99国产精品成人欧美| 综合社区亚洲熟妇p| 国产激爽爽爽大片在线观看| 国产sm重味一区二区三区| 亚洲人成网站18禁动漫无码| 国禁国产you女视频网站| 一级片免费网站| 日本精品中文字幕在线不卡| 日韩欧美国产成人| 青青热久免费精品视频6| 99色亚洲国产精品11p| 国产经典免费播放视频| 久久久精品无码一二三区| 米奇精品一区二区三区| 性喷潮久久久久久久久| 亚洲av无码成人专区| 不卡无码网| 国产网站免费| 在线日韩日本国产亚洲| 国产欧美中文字幕| 激情六月丁香婷婷四房播| 国产成人综合网| 日本不卡在线播放| 高潮毛片免费观看| 成人午夜福利视频| 国产视频大全| 精品久久高清| 老司国产精品视频| 久久永久精品免费视频| 9啪在线视频| 欧美日韩成人| 国产精品微拍| 国产精品美女网站| 国产精品人人做人人爽人人添| 欧美日韩中文国产| 精品久久香蕉国产线看观看gif| 国产一区在线观看无码| 国产乱人伦精品一区二区| 成人免费一级片| 亚洲床戏一区| 热99re99首页精品亚洲五月天| 日韩成人在线视频| 欧美区一区| 在线免费亚洲无码视频| 国产视频欧美| 天天做天天爱天天爽综合区| 日本日韩欧美| 丁香五月婷婷激情基地| 青草91视频免费观看| 青青草欧美| 亚洲综合经典在线一区二区| 女人18毛片水真多国产| 57pao国产成视频免费播放| 国产精品理论片| 国产精品短篇二区| 亚洲无码91视频| 成人韩免费网站| 欧美亚洲日韩中文| 国产高潮流白浆视频| 国产视频入口| 国产精品hd在线播放| 人与鲁专区| A级毛片高清免费视频就| 国产黄在线免费观看| 狠狠色成人综合首页| 99久久99视频| 特级欧美视频aaaaaa|