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

一種基于OpenCV的機器人二維碼識別方法

2021-08-09 06:31:24朱玥郭依正詹雪敏
電子制作 2021年15期

朱玥,郭依正,詹雪敏

(南京師范大學泰州學院,江蘇泰州,225300)

0 引言

隨著智能手機和通信網絡技術的發展,二維碼(二維條碼)識別技術已廣泛應用于電子商務、物流、餐飲、交通、信息安全等領域[1-3]。而機器人工程是現在產業發展的主流方向之一,機器人的應用領域也在逐步擴大。讓機器人具有視覺能力,快速準確的識別二維碼,也是諸多應用場景的需要。

QR(Quick Response Code,快速響應矩陣碼)二維碼具有存儲的信息量大、抗噪能力強、識別快、無需依附數據庫等優點,是市場的主流,應用最為廣泛。對QR碼的研究,目前主要集中在光照不均處理、噪聲的消除、斜視畸變校正等幾個方面[4],比如對于二維碼去噪,高欣欣等人提出了一種迭代均值濾波算法[5],比如對于二維碼畸變校正,歐福超等人提出結合透視變換和插值運算的校正算法[6],在二維碼定位算法方面,劉宏偉等人提出了一種基于Hough變換和投影算法定位二維碼邊界[7]。QR碼包括功能圖像和編碼區兩部分,如圖1所示。因為二維碼已經應用的非常廣泛,如移動支付、身份校驗、數據下載、信息顯示、餐飲、物流等等,所以諸多軟硬件都集成了掃碼功能。本文以應用最廣泛的QR碼為例,闡述了一種機器人系統結構,及其基于此的二維碼的預處理、定位和識別過程,并且做了實驗驗證。

圖1 QR碼的結構

1 系統結構

如圖2所示,給出了一種典型的機器人系統結構。該結構分為四層,上層智能手機為操控端,通過藍牙、GPRS等連接樹莓派進而發出相關指令,樹莓派(Raspberry Pi)通過讀取攝像頭獲取外部圖像并識別,Arduino單片機為下位機,可以連接各類傳感器,典型的如溫濕度傳感器、火焰傳感器、紅外接收傳感器、紅外熱釋電運動傳感器等等,最底層為機器人的機械裝置。

圖2 機器人系統結構

要想在該系統結構上實現基于OpenCV (Open Source Computer Vision Library)的機器人二維碼識別,需要熟悉樹莓派、Python、OpenCV等。樹莓派是一款基于ARM的微型電腦主板,以SD卡為硬盤,支持安裝類Linux系統,體積小但功能齊全,可以完成一臺普通PC機能做的諸多事情,可謂是“麻雀雖小,五臟俱全”;Python是一種面向對象的解釋型程序設計語言,易學易用,既支持對數據進行分析,也可以分析智能硬件,是目前人工智能、機器視覺等領域的首選語言;OpenCV是一種跨平臺計算機視覺庫,對許多通用的圖像處理算法進行了封裝,OpenCV還提供了Java、Python、CUDA等的接口,讓圖像處理和圖像分析的使用變得更加方便。

2 二維碼預處理

二維碼預處理是二維碼定位與識別的基礎,其主要工作包括圖像類型的轉換、圖像邊緣檢測、數學形態學處理等。

(1)圖像類型轉換是將采集的彩色圖像轉換為灰度圖像,可以使用OpenCV中的cv2.cvtColor()函數實現。當攝像頭讀入圖像后,將讀取的幀轉為灰度圖。函數形式如下:

有兩個必選參數,src:原始圖像,code:顏色空間轉換方式。本示例中code取值為cv2.COLOR_BGR2GRAY。值得一提的是,在OpenCV中,彩色空間使用的BGR,即藍-綠-紅顏色空間。

(2)圖像邊緣檢測可以使用OpenCV自帶的cv2.Sobel()算子進行濾波。Sobel算子是常用的一種邊緣檢測算子,對邊緣方向信息的提供比較精確,但由于不是完全精確的邊緣定位,在對精度要求不是很高的情況下被經常采用。

Sobel算子是一個無方向的一階微分邊緣檢測算子,Sobel算子的表達式如下:

其中Dx、Dy分別表示水平方向算子和垂直方向算子。矩陣形式的模板表示如下:

在OpenCV中,Sobel算子的函數原型如下:

dst=cv2.Sobel(src,ddepth,dx,dy[,dst[,ksize[,scale[,d elta[,borderType]]]]])

其中前四個參數是必須的,其余的可選。src:原始圖像,ddepth:圖像像素深度,dx,dy:x和y方向上是否求導。

(3)數學形態學處理是對二值化后的圖像做開運算。二值化使用OpenCV中的cv2.threshold()函數實現,開運算主要作用是去毛刺、孤立點,同時基本保持原圖形狀信息不變,使用cv2.morphologyEx()函數實現。

在OpenCV中,cv2.threshold()的函數原型如下:

cv2.threshold(src,thresh,maxval,type[,dst])四個必選參數含義分別如下,src:原始圖像,thresh:分割閾值,maxval:大于閾值的點設置為maxval的值,type:算法類型。本示例中type取值為cv2.THRESH_BINARY。

開運算一種復合運算,它是對二值圖像先做腐蝕后做膨脹,公式表示如下所示,其中Θ代表腐蝕運算,⊕代表開運算,X為待處理的二值圖像,B為結構元素:

在OpenCV中,cv2.morphologyEx()的函數原型如下:

必選參數含義分別如下,src:原始圖像,op:運算類型,比如常見的開閉運算,op取值cv2.MORPH_OPEN時做的是開運算(先腐蝕后膨脹),op取值cv2. cv2.MORPH_CLOSE時做的是閉運算(先膨脹后腐蝕),kernel:結構元素。

3 二維碼定位與識別

現實中拍攝的二維碼圖像,或多或少的會包含一些背景信息。因此,在二維碼預處理后,需要進行邊界提取從而定位出二維碼,繼而提高識別精度和速度。邊界的提取使用OpenCV中的cv2.findContours()函數實現[8,9],該函數可以對二值圖像進行輪廓檢索,然后返回檢測到的輪廓數。接著,計算邊界最小包圍正方形,就可以定位出二維碼區域。

在OpenCV中,cv2.findContours()的函數原型如下:

必選參數含義分別如下,src:原始圖像,mode:檢測邊緣的方式,method:輪廓的近似方法。本示例中mode取值cv2.RETR_EXTERNAL,method取值cv2.CHAIN_APPROX_SIMPLE。

最后一步是二維碼識別,二維碼識別需要使用zbar庫,需要在終端使用sudo命令安裝,在代碼實現上,只需要加載該庫,并使用zbar.ImageScanner()進行掃描即可。

4 實現效果

為了驗證方法的有效性,在仿人機器人上做了實驗。如圖3所示,為機器人實物,并給出了樹莓派和攝像頭的連接。如圖4所示,給出了二維碼定位結果示例,進而成功識別出二維碼信息為“你好”。實驗較好的驗證了本文所述的基于OpenCV的機器人二維碼識別方法的可行性和正確性。

圖3 機器人實物

圖4 二維碼定位示例

5 結束語

本文論述了一種基于OpenCV的機器人二維碼識別方法,在給出了系統結構的基礎上,詳述了二維碼預處理、二維碼定位與識別等各個步驟,其中二維碼預處理重點講述了圖像類型轉換、圖像邊緣檢測和灰度化后的二值圖像數學形態學處理,并做了仿真實驗。對于開發和設計需要二維碼識別功能的機器人提供了參考。

主站蜘蛛池模板: 日本亚洲成高清一区二区三区| 永久免费av网站可以直接看的| 国产一区二区人大臿蕉香蕉| 国产真实乱子伦视频播放| 国产伦精品一区二区三区视频优播 | 黄片在线永久| 国产精品污污在线观看网站| 国产亚洲视频在线观看| 爽爽影院十八禁在线观看| 成人国产一区二区三区| 国内嫩模私拍精品视频| 亚洲国产AV无码综合原创| 欧美成人影院亚洲综合图| 青青国产成人免费精品视频| 中文无码精品A∨在线观看不卡| 成人字幕网视频在线观看| 国产精品人莉莉成在线播放| 免费不卡视频| 日本一区二区三区精品国产| 国产精品观看视频免费完整版| 亚洲国产日韩视频观看| 久久综合婷婷| 天天做天天爱夜夜爽毛片毛片| 日韩无码黄色网站| 日韩亚洲综合在线| 久青草国产高清在线视频| 国产微拍精品| 欧美乱妇高清无乱码免费| 91人妻日韩人妻无码专区精品| 亚洲一级毛片免费观看| 性色在线视频精品| 中文无码日韩精品| 亚洲中文字幕久久精品无码一区| 91国语视频| 国产精品久久久久久久伊一| 久久综合丝袜长腿丝袜| 中文国产成人精品久久一| 少妇精品在线| 91精品网站| 日本高清在线看免费观看| www.精品国产| 国产欧美又粗又猛又爽老| 国产日韩精品一区在线不卡| 亚洲免费毛片| 女人天堂av免费| 久久成人国产精品免费软件| 国产精品熟女亚洲AV麻豆| 日本爱爱精品一区二区| 国产精品不卡永久免费| 国产精品第| 亚洲欧洲自拍拍偷午夜色| 精品国产aⅴ一区二区三区| 欧美日韩综合网| 在线观看视频一区二区| 亚洲综合天堂网| 午夜高清国产拍精品| 精品国产香蕉在线播出| www亚洲天堂| 亚洲一区波多野结衣二区三区| 亚洲一级毛片免费观看| 制服丝袜在线视频香蕉| 欧美成人a∨视频免费观看| 国产成人亚洲毛片| 国产福利大秀91| 六月婷婷精品视频在线观看 | 欧美啪啪视频免码| 免费啪啪网址| 在线免费观看AV| 日韩不卡高清视频| 亚洲精品自在线拍| 国产欧美日韩在线在线不卡视频| 国产免费精彩视频| 国产精品视频3p| 天堂在线视频精品| 婷婷色狠狠干| 91在线日韩在线播放| 欧美人与动牲交a欧美精品| 高清无码一本到东京热| 国产亚洲欧美在线中文bt天堂| 色爽网免费视频| 欧美日韩国产在线观看一区二区三区| 在线网站18禁|