首页
/
每日頭條
/
健康
/
python關于驗證碼識别的庫
python關于驗證碼識别的庫
更新时间:2024-11-10 20:48:42

最近看到複旦大學信息科學與工程學院博士生利用Python OCR和正則表達式開發一段代碼可以快速的核查幾百人的核酸結果。OCR光學字符識别軟件開發時基本都是調用的别人的OCR文字識别服務。根據經驗OCR的識别有一定的難度最少對圖片的清晰度是有要求。心想Python的OCR文本識别庫已經發展的這麼高精準了麼?耳聽為虛動手為實開始寫代碼。今天就為大家介紹下利用Python OCR庫識别防疫健康碼截圖的文本信息。

1、安裝OCR庫

#這次裝了不少的庫主要是庫之間有依賴 pip3 install common dual tight data prox shapely paddle paddleocr paddlepaddle

2、文本識别

from paddleocr import PaddleOCR, draw_ocr from PIL import Image ocr = PaddleOCR(use_angle_cls=True, lang='ch') img_path = '/Users/linux/Downloads/WechatIMG1.jpeg' result = ocr.ocr(img_path, cls=True) city_exist = False for text in result: exist = False #print(text[1][0]) if text[1][0].find("動态行程卡") > -1: exist = True elif text[1][0].find('更新于') > -1: exist = True elif text[1][0].find('14天内到達') > -1: city_exist = True elif text[1][0].find("結果包含") > -1: city_exist = False if exist == True or city_exist == True: print(text[1][0]) if text[1][0].find("綠色行程卡") > -1: print("綠色") elif text[1][0].find("紅色行程卡") > -1: print("紅色")

3、健康碼識别結果

python關于驗證碼識别的庫(PaddleOCR庫識别防疫健康碼文本信息)1

(圖一)

python關于驗證碼識别的庫(PaddleOCR庫識别防疫健康碼文本信息)2

(圖二)

python關于驗證碼識别的庫(PaddleOCR庫識别防疫健康碼文本信息)3

(圖三)

小程序

健康碼截圖

識别結果

通信行程卡

(如上圖一)

綠色

xxx****xxxx的動态行程卡

更新于:2022.04.1115:15:42

您于前14天内到達或途經:河北省xxxx市

北京健康寶

(如上圖三)

2022年04月11日

15:17:54

未見異常①

名:

x*

身份證号:

查詢時間:

04-1115:17

失效時間:

04-1124:00

河北健康碼

(如上圖二)

河北健康碼

姓名

x*x

身份證号

xxxx**********xxxx

2022-04-1115:15:58

核酸檢測:陰性(2021-11-26

檢測機構:北京xxxx醫院(西城院區)

4、顔色識别

代碼中我們是根據識别的文本來判斷是綠碼還是紅碼,難免根據小程序的升級判斷結果有誤。希望可以根據截圖的圖片的主要顔色來判斷綠碼還是紅碼保險準确些。

import colorsys import PIL.Image as Image def get_dominant_color(image): max_score = 0.0001 dominant_color = None for count,(r,g,b) in image.getcolors(image.size[0]*image.size[1]): # 轉為HSV标準 saturation = colorsys.rgb_to_hsv(r/255.0, g/255.0, b/255.0)[1] y = min(abs(r*2104 g*4130 b*802 4096 131072)>>13,235) y = (y-16.0)/(235-16) #忽略高亮色 if y > 0.9: continue score = (saturation 0.1)*count if score > max_score: max_score = score dominant_color = (r,g,b) return dominant_color if __name__ == '__main__': image = Image.open('/Users/linux/Downloads/WechatIMG1.jpeg') image = image.convert('RGB') print(get_dominant_color(image)) 執行結果: (83, 164, 108)[RGB綠色]

5、結論

根據我們識别通信行程卡、北京健康寶、河北健康碼的截圖。整體OCR的識别還是很準确的。基本上重要的我們想要的數據都可以識别出來,以後可以多用PaddleOCR庫識别圖片。大家有什麼不同的觀點可以提出來溝通讨論。

感謝大家的評論、點贊、分享、關注。。。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
人最可悲的是一輩子都在自欺欺人
人最可悲的是一輩子都在自欺欺人
人最可悲的是一輩子都在自欺欺人?我呀,真要改掉我的臭毛病了,改掉輕易的掏心掏肺當你掏心掏肺的對别人時,付出的結果換來的是不在意和埋怨,改掉毫無底線的心軟,當别人有事兒了,你全心的付出,等事情結束了,人家就把你丢在一旁,再等人家有事兒呢,你又...
2024-11-10
神級減肥食物有哪些
神級減肥食物有哪些
今天,既小康發現了一個超厲害的減肥食物,有了它你在減肥時遇見朋友聚餐、公司應酬放開了吃都不用怕的!這個食物就是白!芸!豆!可能很多人都沒有聽過,尤其是北方人民,因為白芸豆主要分布在雲南、貴州、四川等地。想了解這個在減肥屆BUG一樣的存在嗎?...
2024-11-10
關節炎發病年輕化你的關節還好嗎
關節炎發病年輕化你的關節還好嗎
關節炎發病年輕化你的關節還好嗎?今天(10月12日)是世界關節炎日據統計,全世界關節炎患者有3.55億人,在亞洲地區,每六個人中就有一人在一生的某個階段會患上關節炎關節炎在我國的發病率約為13%,保守估計患者超過1億,我來為大家講解一下關于...
2024-11-10
怎樣能查出有沒有胎停
怎樣能查出有沒有胎停
【每日一星781續集】韓女士,36歲,遼甯人,結婚9年,人工流産清宮一次,胎停清宮2次(均自行懷孕,6-8周有胎心胎芽後停育,第二次胎停胎兒染色體異常,為21三倍體,父母染色體正常),夫妻雙方中藥調理半年後,2017年11月再次自行懷孕後焦...
2024-11-10
媽媽每天都是重病在床
媽媽每天都是重病在床
今天是2022年8月20日星期六,是陪媽媽住院的第二天,從昨天下午進來到現在,心裡面還是一直很慌,從知道媽媽生病到現在,我不知道自己是怎麼過來的,每天都不敢想太多,生怕自己控制不住,會影響媽媽的心情,每天都安慰她,心情要放好,現在醫學這麼發...
2024-11-10
Copyright 2023-2024 - www.tftnews.com All Rights Reserved