• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Sobel算子的銀行卡號識別研究*

    2021-09-15 08:35:14徐毓凱楊國平
    關(guān)鍵詞:銀行卡輪廓算子

    徐毓凱 楊國平

    (上海工程技術(shù)大學(xué)機(jī)械與汽車工程學(xué)院 上海 201620)

    1 引言

    隨著社會和互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)上銀行已逐漸成為人們?nèi)粘I畈豢苫蛉钡囊徊糠?。移動支付也成為目前社會主流的消費(fèi)方式[1],比如微信支付、支付寶等。隨之我們會將銀行卡和各種移動支付軟件進(jìn)行綁定。在實(shí)際綁定過程中,目前的常用方式大多還是用戶自己手動輸入銀行卡號碼,然而手動輸入十幾位銀行卡號很慢且容易出錯,并且對部分視力不佳的中老年人很不友好,影響用戶體驗(yàn)。因此,銀行卡卡號的自動識別功能將會給人們帶來很大的便利。

    雖然目前的字符識別技術(shù)發(fā)展已較為成熟,比如文本識別[2~4]、車牌識別等[5~6],但銀行卡識別技術(shù)還沒有廣泛應(yīng)用于各大移動支付平臺中。針對這一問題和現(xiàn)狀,本文提出了一種基于Sobel算子的銀行卡識別算法。首先用基于Sobel邊緣檢測的方法提取銀行卡輪廓,然后獲取銀行卡卡號的數(shù)字區(qū)域,最后對數(shù)字區(qū)域的銀行卡號進(jìn)行識別。

    2 Sobel邊緣檢測

    Sobel算子是圖像處理中的算子之一[7~10],在影像處理和計(jì)算機(jī)視覺領(lǐng)域中常被用來做邊緣檢測。Sobel算子最早由美國科學(xué)家Irwin Sobel和Gary Feldman于1968年在史丹佛大學(xué)的人工智能實(shí)驗(yàn)室(SAIL)提出。為了紀(jì)念他們所做的貢獻(xiàn),用他們的名字命名了該算子。概念上,Sobel算子就是一個小且是整數(shù)的濾波器對整張圖片在水平及垂直方向上做卷積,因此它所需的運(yùn)算資源相對較少。另一方面,對于圖像中頻率變化較高的地方,它所得的梯度的近似值也比較粗糙。

    目前在銀行卡的輪廓提取中較為常用的方法為基于Canny算子的邊緣檢測[11~13],Canny算子的運(yùn)用場景較多,它其中有很多參數(shù),通過對這些參數(shù)的變化會對算法的性能產(chǎn)生影響。本文的銀行卡輪廓定位利用Sobel算法替代Canny算法。獲取數(shù)字區(qū)域過程中采用增強(qiáng)對比度再利用特定閾值獲取數(shù)字區(qū)域替代了之前Canny算法的邊緣檢測。雖然Sobel算法只能檢測水平和垂直方向的邊緣,對于紋理較為復(fù)雜的圖像,其邊緣檢測效果不是很理想,但是對于銀行卡數(shù)字識別來說,邊緣紋理并不是很復(fù)雜,用Sobel算子進(jìn)行邊緣檢測反而計(jì)算簡單,速度快。圖1為對原始灰度圖像分別基于Canny算子和Sobel算子所做的邊緣檢測圖。

    圖1 Canny和Sobel邊緣檢測比較

    Sobel算子做平面卷積的原理按所示方程(1)計(jì)算:

    分別可得到水平和豎直兩個方向的亮度差分近似值。其公式如下:

    其中A是指原圖像,Gx及Gy是指對水平和豎直兩個方向的計(jì)算。然后通過式(4)可以對圖像的梯度值進(jìn)行計(jì)算。

    3 實(shí)驗(yàn)過程

    3.1 提取銀行卡輪廓

    一般來說,我們生活中手機(jī)識別到的銀行卡都不是直接的灰度圖像(如圖2),圖像處理過程中我們會分別對彩色圖像的三個顏色通道進(jìn)行處理,計(jì)算量會很大且影響識別過程的速度,因此需要對彩色圖像進(jìn)行灰度處理。如圖3為對彩色銀行卡灰度處理后的圖像。

    圖2 彩色銀行卡圖像

    圖3 灰度處理圖像

    然后我們需要對灰度圖像進(jìn)行頂帽操作。頂帽運(yùn)算也被稱為“禮帽”運(yùn)算,它為原圖像與圖像作“開運(yùn)算”的結(jié)果圖之差。其中開運(yùn)算就是對圖像進(jìn)行先腐蝕后膨脹的過程,一般可以用來對圖像邊緣進(jìn)行平滑處理,消除一些小的毛刺和干擾。如圖4則為對圖3進(jìn)行頂帽操作后的圖像。

    圖4 頂帽操作后的圖像

    頂帽操作之后,我們就會用Sobel算子進(jìn)行邊緣檢測,由于銀行卡邊緣背景信息比較簡單且具有一定的規(guī)律性,因此本文只對x軸方向進(jìn)行了Sobel算子邊緣計(jì)算得到了待識別銀行卡的輪廓(見圖5),通過后文實(shí)驗(yàn)可以看出只做x軸方向的Sobel計(jì)算邊緣檢測效果也比較理想,并且計(jì)算簡單,效率高。

    圖5 sobel邊緣檢測

    3.2 獲取銀行卡數(shù)字區(qū)域

    通過上文的實(shí)驗(yàn)可以得到銀行卡的輪廓信息,接下來我們需要獲取銀行卡數(shù)字區(qū)域。首先對銀行卡輪廓圖像進(jìn)行閉操作(先膨脹,再腐蝕)將卡號數(shù)字連在一起(見圖6),然后對圖6進(jìn)行二值化操作將目標(biāo)區(qū)域和背景區(qū)別開來(見圖7),接著計(jì)算輪廓信息找到圖7中的所有輪廓得到圖8。

    圖6 閉操作

    圖7 二值化

    圖8 目標(biāo)區(qū)域輪廓

    如圖8得到的目標(biāo)區(qū)域的輪廓我們可以看出已經(jīng)找到的輪廓不僅包含數(shù)字區(qū)域,還包含一些例如銀行名稱,logo等一些干擾區(qū)域輪廓,因此我們需要從中排除這些干擾區(qū)域輪廓,得到只包含卡號數(shù)字的區(qū)域輪廓。經(jīng)過篩選輪廓,我們得到了四組數(shù)字輪廓區(qū)域,如圖9是得到的四組數(shù)字區(qū)域的其中一組。

    圖9 數(shù)字區(qū)域

    3.3 銀行卡數(shù)字識別

    一般而言,銀行卡卡號識別的方法有很多,常用的主要有:模板匹配識別法[14]、神經(jīng)網(wǎng)絡(luò)識別法[15]、特征統(tǒng)計(jì)匹配識別法等[16]。本文的研究對象一般只有十幾位的阿拉伯?dāng)?shù)字,且每個數(shù)字0~9之間選擇,分布具有很強(qiáng)的規(guī)律,且本文考慮的情況需要快速的識別出銀行卡號信息,所以采用模板匹配字符識別法。

    第一步要建立一個模版。首先導(dǎo)入一個包含0~9數(shù)字模板的圖像(圖10),將圖像分別進(jìn)行灰度處理和二值化(圖11),然后找到圖像的所有輪廓,遍歷每一個輪廓,每一個數(shù)字輪廓對應(yīng)每一個模板(圖12)。

    圖10 包含模板數(shù)字圖像

    圖11 灰度化及二值化

    圖12 數(shù)字模板

    第二步將待檢測銀行卡數(shù)字區(qū)域的每一個數(shù)字輪廓與第一步的10個數(shù)字模板分別比較,計(jì)算每一個待檢測數(shù)字與每一個模板的匹配得分,得分最高的模板即為待識別數(shù)字的正確模板。最終識別的結(jié)果如圖13所示。

    圖13 識別結(jié)果

    4 結(jié)語

    隨著互聯(lián)網(wǎng)和移動支付技術(shù)的飛速發(fā)展,本文的研究對象也有著廣泛的應(yīng)用前景。目前對銀行卡號識別的相關(guān)文獻(xiàn)和參考資料非常少,一些開發(fā)出銀行卡號識別技術(shù)的公司其識別技術(shù)及方法均未公開,銀行卡號的識別技術(shù)研究依然具有一定的實(shí)用性。

    本文在現(xiàn)有的常用的銀行卡號識別技術(shù)上做了一些改善,將常用的Canny邊緣檢測方法改為了只做x軸方向的Sobel邊緣檢測,檢測結(jié)果差別不大,但是計(jì)算簡單,提高了識別過程中圖像預(yù)處理的效率。另外,針對銀行卡號具有固定字體的規(guī)律,使用模板匹配法對數(shù)字進(jìn)行識別,也一定程度上節(jié)省了時(shí)間。與此同時(shí),本文在一些方面仍有不足,需要進(jìn)一步的改進(jìn)。例如銀行卡圖像數(shù)據(jù)庫涉及到個人隱私問題,本文并沒有對大量真實(shí)的銀行卡進(jìn)行驗(yàn)證。另外,在識別過程中沒有考慮銀行卡使用過程中的磨損問題,實(shí)驗(yàn)對象采取的只是比較理想的圖像。雖然本文具有一定的不足,但是仍為銀行卡號識別提供了一定的參考意義。

    猜你喜歡
    銀行卡輪廓算子
    復(fù)雜背景下銀行卡號識別方法研究
    擬微分算子在Hp(ω)上的有界性
    OPENCV輪廓識別研究與實(shí)踐
    各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應(yīng)用
    銀行卡被同學(xué)擅自透支,欠款誰償還?
    公民與法治(2020年3期)2020-05-30 12:29:58
    基于實(shí)時(shí)輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
    一類Markov模算子半群與相應(yīng)的算子值Dirichlet型刻畫
    誰劃走了銀行卡里的款
    Roper-Suffridge延拓算子與Loewner鏈
    在線學(xué)習(xí)機(jī)制下的Snake輪廓跟蹤
    广灵县| 苗栗县| 邹城市| 察隅县| 阳高县| 诸城市| 武胜县| 清水县| 盱眙县| 湄潭县| 南投县| 邛崃市| 蒲城县| 靖边县| 鲁甸县| 佛坪县| 太白县| 高雄县| 石景山区| 紫云| 谢通门县| 琼结县| 老河口市| 邵阳县| 大埔县| 惠来县| 新安县| 明溪县| 卢龙县| 乳源| 南充市| 武宁县| 河间市| 商洛市| 昌邑市| 潮安县| 邯郸市| 普兰店市| 措勤县| 饶河县| 都江堰市|