精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

AOE工程實踐 銀行卡OCR里的圖像處理

開發 項目管理
期我們開發了一個銀行卡 OCR 項目。需求是用手機對著銀行卡拍攝以后,通過推理,可以識別出卡片上的卡號。

[[284497]]

近期我們開發了一個銀行卡 OCR 項目。需求是用手機對著銀行卡拍攝以后,通過推理,可以識別出卡片上的卡號。

工程開發過程中,我們發現手機拍攝以后的圖像,并不能滿足模型的輸入要求。以 Android 為例,從攝像頭獲取到的預覽圖像是帶 90 度旋轉的 NV21 格式的圖片,而我們的模型要求的輸入,只需要卡片區域這一塊的圖像,并且需要轉成固定尺寸的 BGR 格式。所以在圖像輸入到模型之前,我們需要對采集到的圖像做圖像處理,如下圖所示:  

 

在開發的過程中,我們對 YUV 圖像格式和 libyuv 進行了研究,也積累了一些經驗。

下文我們結合銀行卡 OCR 項目,講一講里面涉及到的一些基礎知識:

  • 什么是YUV格式
  • 如何對YUV圖像進行裁剪
  • 如何對YUV圖像進行旋轉
  • 圖像處理中的Stride
  • 如何進行縮放和格式轉換
  • libyuv的使用

想要對采集到的YUV格式的圖像進行處理,首先我們需要了解什么是 YUV 格式。 

什么是YUV格式 

YUV 是一種顏色編碼方法,YUV,分為三個分量:“Y” 表示明亮度(Luminance或Luma),也就是灰度值;“U”和“V” 表示的則是色度(Chrominance或Chroma)。主流的采樣方式有三種YUV4:4:4YUV4:2:2YUV4:2:0這部分專業的知識,網絡上有詳細的解釋。我們簡單理解一下,RGB 和 YUV 都使用三個值來描述一個像素點,只是這三個值的意義不同。通過固定的公式,我們可以對 RGB 和 YUV 進行相互轉換。

工程里常見的I420,NV21,NV12,都是屬于YUV420,每四個Y共用一組UV分量。YUV420主要包含兩種格式,YUV420SP 和YUV420P。★YUV420SP,先排列Y分量,UV分量交替排列,例如:NV12: YYYYYYYY UVUV 和★NV21: YYYYYYYY VUVU (上文中我們在安卓上采集到的圖像就是這種格式)。

YUV420P,先排列U(或者V)分量,再排列V(或者U)分量。例如:I420: YYYYYYYY UU VV 和 YV12: YYYYYYYY VV UU。 

 

了解了YUV的圖像格式以后,我們就可以嘗試對圖片進行裁剪和旋轉了。

我們的想法是先在圖片上裁剪出銀行卡的區域,再進行一次旋轉。 

 

如何對YUV圖像進行裁剪 

YUV420SP 和 YUV420P 裁剪的過程類似,以 YUV420SP 為例,我們要裁剪圖中的這塊區域: 

 

在圖上看起來就非常明顯了,只要找到裁剪區域對應的Y分量和UV分量,按行拷貝到目標空間里就可以了。 

 

我們再來看一張圖,是否可以用上面的方法來裁剪圖中的這塊區域呢? 

 

答案是否定的,如果你按照上面說的方法來操作,最后你會發現你保存出來的圖,顏色基本是不對的,甚至會有內存錯誤。原因很簡單,仔細觀察一下,當 ClipLeft 或者 ClipTop 是奇數的時候,會導致拷貝的時候UV分量錯亂。如果把錯誤的圖像數據輸入到模型里面,肯定是得不到我們期望的結果的。所以我們在做裁剪的時候,需要規避掉奇數的場景,否則你會遇到意想不到的結果。 

如何對YUV圖像進行旋轉 

對上文裁剪后的圖像做順時針90度旋轉,相比裁剪,轉換要稍微復雜一些。 


基本方法是一樣的,拷貝對應的 Y 分量和 UV 分量到目標空間里。 

 

在了解了裁剪和旋轉的方法以后,我們發現在學習的過程中不可避免地遇到了 Stride 這個詞。

那它在圖像中的作用是什么呢? 

圖像處理中的Stride 

Stride 是非常重要的一個概念,Stride 指在內存中每行像素所占的空間,它是一個大于等于圖像寬度的內存對齊的長度。如下圖所示:

 

回過頭來看我們上面說到的裁剪和旋轉,是否有什么問題?

以 Android 上的YV12為例,Google Doc 里是這樣描述的: 

  1. YV12 is a 4:2:0 YCrCb planar format comprised of a WxH Y plane followed by (W/2) x (H/2) Cr and Cb planes. 
  2.  
  3. This format assumes 
  4. • an even width 
  5. • an even height 
  6. • a horizontal stride multiple of 16 pixels 
  7. • a vertical stride equal to the height 
  8.  
  9. y_size = stride * height 
  10. c_stride = ALIGN(stride / 2, 16) 
  11. c_size = c_stride * height / 2 
  12. size = y_size + c_size * 2 
  13. cr_offset = y_size 
  14. cb_offize = y_size + c_size 

所以在不同的平臺和設備上,需要按照文檔和 stride 來進行計算。例如計算 Buffer 的大小,很多文章都是簡單的 “*3/2” ,仔細考慮一下,這其實是有問題的。

如果不考慮 stride ,會有帶來什么后果?如果 “運氣” 足夠好,一切看起來很正常。“運氣”不夠好,你會發現很多奇怪的問題,例如花屏,綠條紋,內存錯誤等等。這和我們平常工作中遇到的很多的奇怪問題一樣,實際上背后都是有深層次的原因的。

經過裁剪和旋轉,我們只需要把圖像縮放成模型需要的尺寸,轉成模型需要的BGR格式就可以了。 

如何進行縮放和格式轉換 

以縮放為例,有臨近插值,線性插值,立方插值,蘭索斯插值等算法。YUV 和 RGB 之間的轉換,轉換的公式也有很多種,例如量化和非量化。這些涉及到專業的知識,需要大量的時間去學習和理解。

這么多的轉換,我們是否都要自己去實現?

很多優秀的開源項目已經提供了完善的 API 給我們調用,例如 OpenCV,libyuv 等。我們需要做的是理解基本的原理,站在別人的肩膀上,做到心里有數,這樣即使遇到問題,也能很快地定位解決。

經過調查和比較,我們選擇了 libyuv 來做圖像處理的庫。libyuv 是 Google 開源的實現各種 YUV 與 RGB 之間相互轉換、旋轉、縮放的庫。它是跨平臺的,可在 Windows、Linux、Mac、Android 等操作系統,x86、x64、arm 架構上進行編譯運行,支持 SSE、AVX、NEON等SIMD 指令加速。 

libyuv的使用 

引入libyuv以后,我們只需要調用libyuv提供的相關API就可以了。

在銀行卡OCR工程使用的過程中,我們主要遇到了2個問題:

1.在Android開發的初期,我們發現識別率和我們的期望存在一定的差距。

我們懷疑是模型的輸入數據有問題,通過排查發現是使用libyuv的時候,沒注意到它是little endian。例如這個方法:int BGRAToARGB(...),BGRA little endian,在內存里順序實際是ARGB。所以在使用的時候需要弄清楚你的數據在內存里是什么順序的,修改這個問題后識別率達到了我們的預期。

2.在大部分機型上運行正常,但在部分機型上出現了 Native 層的內存異常。

通過多次定位,最后發現是 stride 和 buffersize 的計算錯誤引起的。通過銀行卡 OCR 項目,我們積累了相關的經驗。另外,由于 libyuv 是 C/C++ 實現的,使用的時候不是那么的便捷。為了提高開發效率,我們提取了一個 Vision 組件,對libyuv封裝了一層 JNI 接口,包括了一些基礎的轉換和一些 sample,這樣使用起來更加簡單方便了。作為AOE SDK 里的圖像處理組件,還在不斷開發和完善中。 

 

責任編輯:龐桂玉 來源: 普惠出行產品技術
相關推薦

2022-06-22 12:48:26

加密貨幣比特幣加密卡

2014-12-05 13:19:59

2015-06-02 11:35:53

2011-11-28 12:25:52

2012-12-21 20:03:48

金融展

2020-04-02 16:00:12

區塊鏈數字錢包銀行卡

2015-03-11 10:30:52

Apple Pay

2009-06-17 10:26:19

銀行卡密碼安全

2015-02-03 09:51:33

2009-09-02 20:10:51

2015-08-04 11:08:31

2010-01-25 09:54:53

金融行業ACI Worldwi

2018-05-03 10:59:45

WiFi手機銀行卡

2012-06-27 13:33:09

JavaScript

2020-12-01 16:27:02

數字貨幣

2009-07-07 10:57:04

2017-05-26 18:34:23

2017-05-02 15:10:05

2015-07-21 16:49:18

2020-08-31 19:06:36

中國銀聯數字銀行卡無界卡
點贊
收藏

51CTO技術棧公眾號

在线亚洲一区二区| 中文字幕乱码日本亚洲一区二区| 欧美激情精品久久久久久蜜臀| 亚洲麻豆一区二区三区| 9i看片成人免费高清| 国产精品乱码一区二区三区软件 | 国产免费观看久久| 91香蕉电影院| www.久久久久久久| 国产一区日韩欧美| 中文日韩电影网站| 视频免费在线观看| 91嫩草国产线观看亚洲一区二区| 精品久久香蕉国产线看观看gif| 亚洲欧美日韩综合一区| 男人天堂综合网| 麻豆国产精品官网| 性欧美xxxx| 婷婷久久综合网| 久久不见久久见中文字幕免费| 91精品国产色综合久久ai换脸| 欧美黄色免费影院| 污污的视频在线观看| 欧美韩国一区二区| 久久久久久九九九九| 99精品国产99久久久久久97| 日韩在线卡一卡二| 57pao精品| 久久午夜无码鲁丝片午夜精品| 第一会所sis001亚洲| 日韩精品极品视频免费观看| 一级黄色大片免费看| 久久免费影院| 在线精品视频免费播放| 自拍日韩亚洲一区在线| 在线观看免费视频你懂的| 欧美韩国日本综合| 日本午夜精品一区二区三区| 天堂国产一区二区三区| 国产福利一区二区三区视频在线 | 亚洲精品国产欧美在线观看| 夜夜嗨av一区二区三区网站四季av| 久久久91精品国产| 黄色录像一级片| 欧美疯狂party性派对| 伊人久久免费视频| 免费观看a级片| 欧美亚洲激情| 中文字幕久热精品视频在线| 美女脱光内衣内裤| 国产精品午夜一区二区三区| 日韩经典中文字幕| 亚洲av无码一区二区三区人 | 国产精品一区2区| 91久久国产婷婷一区二区| ,亚洲人成毛片在线播放| 青青草国产成人99久久| 国产精品女人久久久久久| 国产一卡二卡三卡| 秋霞av鲁丝片一区二区| 久久精品官网| 国产成人+综合亚洲+天堂| 欧产日产国产69| 七七婷婷婷婷精品国产| 成人a视频在线观看| 国产精品老熟女视频一区二区| 久久99精品国产91久久来源| 91久久精品日日躁夜夜躁国产| 亚洲性生活大片| 国内精品久久久久影院色| 亚洲综合中文字幕在线| www日本在线| 99国产精品国产精品毛片| 欧美二区在线| 日本中文字幕电影在线免费观看 | 亚洲精品电影网| 我和岳m愉情xxxⅹ视频| 欧美日韩有码| 久热精品视频在线| www.av视频在线观看| 日韩午夜电影| 国产精品久久久久久久久久99| 中文字幕精品无码亚| 国产精品99久久久久久久vr| 精品欧美一区二区精品久久| jizz在线观看中文| 一区二区三区美女视频| 国产一区亚洲二区三区| 国产精品3区| 日韩电影大全免费观看2023年上| 精品无码在线观看| 黄色成人在线网站| 国产精品久久久久国产a级| 国产强伦人妻毛片| 91色.com| 国产爆乳无码一区二区麻豆| 全亚洲第一av番号网站| 日韩午夜激情免费电影| 伊人网在线视频观看| 91精品国产视频| 日本高清不卡在线| 国产成年妇视频| 国产日韩精品一区二区三区| 男女裸体影院高潮| 日韩中文视频| 亚洲第一区在线观看| 欲色天天网综合久久| 国产激情视频网站| 97视频热人人精品免费| 欧美有码在线观看| 国产丰满果冻videossex| 久久精品视频在线看| 国产人妻人伦精品| 91精品网站在线观看| 日韩精品亚洲视频| 麻豆视频在线观看| 久久99日本精品| 秋霞久久久久久一区二区| 538视频在线| 欧美一区二区三区四区五区| 国产成人无码精品久久二区三| 国内精品亚洲| 亚洲xxxxx性| 在线免费观看黄色| 一本到高清视频免费精品| 性高潮免费视频| 中文视频一区| 国产在线播放不卡| 在线看免费av| 欧美在线观看视频一区二区 | 亚洲视频一区二区在线| 不卡av免费在线| 日本一道高清一区二区三区| 久久久久久亚洲| 国产xxxxxx| 亚洲精品videosex极品| 欧美性受xxxxxx黑人xyx性爽| 成人精品影院| 国产精品久久久久久久久久99 | 久久精品成人动漫| 最新中文字幕免费| 日本一区二区成人| 国产精品区在线| 99久久婷婷国产综合精品电影√| 国产精品久久久久久久9999| 国产在线观看网站| 欧美在线免费观看视频| 久久久视频6r| 免费在线观看不卡| 亚洲综合欧美日韩| 亚洲狼人综合| 久久色免费在线视频| 国产精品自偷自拍| 亚洲激情av在线| 欧美午夜精品一区二区| 黄色在线一区| 成人一区二区在线| 国产va在线视频| 亚洲精品天天看| 国产主播第一页| 国产精品三级电影| www.久久久久久久久久久| 亚洲精品在线观看91| 亚洲一区制服诱惑| 1区2区3区在线| 亚洲男人天堂2024| 亚洲视频一区在线播放| 一区二区三区久久久| av2014天堂网| 秋霞电影一区二区| 欧美 日韩 国产 在线观看| 日韩08精品| 69av视频在线播放| 992tv免费直播在线观看| 欧美一区二区精品在线| 男人天堂中文字幕| 国产色综合一区| 久久久国产精品久久久| 国产精品美女久久久| 日本亚洲导航| 伊人www22综合色| 国产91在线视频| 中文在线观看免费| 国产丝袜高跟一区| 99久久亚洲精品日本无码| 亚洲一区二区精品久久av| 30一40一50老女人毛片| 久久99蜜桃精品| 18禁免费观看网站| 日韩激情在线| 国产精品亚洲一区| 欧美日韩卡一| 欧美一级片久久久久久久| 日本成人在线播放| 亚洲精品自拍第一页| 国产又黄又大又爽| 色诱视频网站一区| 国语对白在线播放| 久久精品亚洲精品国产欧美kt∨ | 亚洲品质自拍视频网站| 五月婷婷综合在线观看| 国产一区二区三区四区五区入口| 国产网站免费在线观看| 天天做天天爱天天综合网| 久久国产精品-国产精品| 国产精品**亚洲精品| 日韩免费观看视频| h片在线观看视频免费| 久久视频在线视频| av在线免费观看网站| 亚洲国产成人久久综合| 国产精品自拍电影| 欧美无砖专区一中文字| 国产精品一区二区6| 亚洲欧美一区二区三区孕妇| 免费成人深夜天涯网站| 99re亚洲国产精品| 无码人妻精品一区二区三| 激情小说亚洲一区| 美女网站视频黄色| 久久人人精品| 国产黄色一级网站| 狠狠入ady亚洲精品| 天天综合五月天| 日韩精品不卡一区二区| 欧美一区二区综合| 蜜桃一区二区| 久久久久久国产精品mv| 麻豆一区二区| 国产欧美日韩在线播放| 一区二区三区高清在线观看| 91传媒视频在线观看| 国产高清亚洲| 亚洲自拍小视频| 国产精品高清一区二区| 91精品在线观| 国产精久久久| 亚洲最大福利网| 亚洲精品aⅴ| 国产精品免费一区二区三区四区 | 日韩在线精品强乱中文字幕| 91精品免费看| 精品入口麻豆88视频| 91在线观看免费网站| 成人豆花视频| 91系列在线观看| 视频成人永久免费视频| www日韩av| 精品一区二区男人吃奶| 国产亚洲自拍偷拍| 日韩中出av| 日本午夜精品一区二区| 久久一区二区三区电影| 国产一区一区三区| 欧美日韩99| 九九爱精品视频| 久久久久国内| a在线观看免费视频| 狠狠色丁香久久婷婷综| 日韩av影视大全| 成人av在线网| 女~淫辱の触手3d动漫| 中文在线免费一区三区高中清不卡| а天堂中文在线资源| 亚洲女爱视频在线| 国产亚洲欧美久久久久| 欧美日韩中国免费专区在线看| 无码一区二区三区| 91麻豆精品国产91久久久使用方法| 99热这里只有精品在线观看| 精品免费国产二区三区| 三级视频在线| 北条麻妃久久精品| segui88久久综合| 国产精品xxx视频| 国产一区二区av在线| 国产精品久久一区二区三区| 日韩mv欧美mv国产网站| 亚洲一区二区不卡视频| 韩日在线一区| 黑人粗进入欧美aaaaa| 国产一区二区导航在线播放| 亚洲少妇18p| 国产精品三级av在线播放| 国产一国产二国产三| 欧美亚洲一区二区在线观看| 精品人妻午夜一区二区三区四区 | 国产精品扒开腿做爽爽| 中文字幕中文字幕中文字幕亚洲无线| 久草成人在线视频| 色综合久久精品| 国产国语亲子伦亲子| 亚洲人成在线观看| 尤物yw193can在线观看| 日韩美女视频中文字幕| 91精品国产自产在线丝袜啪 | 韩日成人在线| 中文字幕亚洲乱码| 91麻豆国产福利在线观看| 亚洲精品一区二区三区在线播放| 午夜视频一区二区三区| 国产青青草视频| 亚洲天堂男人天堂女人天堂| 丁香花在线高清完整版视频| 国产日本欧美一区| 国产精品探花在线观看| www在线观看免费| 国产激情91久久精品导航| 国产真人真事毛片视频| 狠狠久久亚洲欧美专区| 国内精品久久久久久久久久| 中文字幕av一区二区三区谷原希美| 国产ktv在线视频| www 成人av com| 亚洲欧美亚洲| 国产福利精品一区二区三区| 国产欧美一区二区精品仙草咪| 午夜毛片在线观看| 精品成人a区在线观看| 国产高清一区二区三区视频 | 午夜精品久久久久久久久久久久久 | 狠狠色伊人亚洲综合网站色| 亚洲欧美网站在线观看| 欧美男女交配视频| 国产日韩欧美精品综合| 免费污污视频在线观看| 日韩成人性视频| 99re6在线精品视频免费播放| 成人欧美一区二区三区视频| 欧美一区综合| 日本在线视频播放| 亚洲免费毛片网站| 99精品视频免费看| 久久精视频免费在线久久完整在线看| 欧美爱爱视频| 亚洲午夜精品一区二区| 蜜臀久久99精品久久久久久9| 欧美另类z0zx974| 欧美在线你懂的| 日本不卡不卡| 91在线观看欧美日韩| 欧美成人一品| 亚洲av综合色区无码另类小说| 一区二区欧美视频| 内射后入在线观看一区| 久久久亚洲国产| 欧美国产极品| 日韩网址在线观看| 日本一区二区免费在线| 亚洲系列在线观看| 久久国产精彩视频| aaa国产精品视频| 人妻久久久一区二区三区| 91片黄在线观看| 久久久久精彩视频| 精品国产一区二区三区久久久狼 | 蜜臀久久精品久久久用户群体| 欧美一区二区三区性视频| 欧美xxxx黑人又粗又长| 国产伦精品一区二区三区| 国产精品免费看| 嘿嘿视频在线观看| 91精品国产综合久久婷婷香蕉 | 亚洲国产精品一区二区尤物区| 人妻中文字幕一区| 日韩av快播网址| 久久久久久久久久久久久久久久久久 | 加勒比海盗1在线观看免费国语版| 夫妻av一区二区| 欧美a视频在线观看| 日韩在线观看免费网站| 日韩一区二区三区色| 日韩精品一区二区三区久久| 国产精品美女视频| 亚洲经典一区二区三区| 日韩av免费在线看| 婷婷激情图片久久| 精品视频站长推荐| 欧美三级蜜桃2在线观看| 色呦呦在线播放| 欧美日韩一区在线观看视频| 精品在线观看视频| 男人的天堂一区| 色婷婷久久av| 欧美变态网站| 激情五月婷婷基地| 黑人精品xxx一区| 欧洲不卡av| 蜜桃精品久久久久久久免费影院| 久久精品国产免费看久久精品| 久久精品人妻一区二区三区| 一区二区三区亚洲| 国产精品成人自拍| 国产免费中文字幕| 色天使色偷偷av一区二区| 91蜜桃在线视频| 日韩欧美在线一区二区| 成人av在线网站| 国产免费黄色大片| 国产99久久久欧美黑人|