pytesseract:opencv預處理圖片

一、目的

原始圖片用pytesseract識別文字,精準度往往沒達到預期。使用opencv處理后,提高識別精準度。處理方法有

a.圖片轉成白底黑字。

b.截取圖片某固定區域。這個很重要,因為圖片包含圖標或其他形狀圖形,辨識導致錯亂的。

二、opencv 處理

import cv2#加載圖片
image = cv2.imread(filePath)#截取矩形區域
# 格式[y1: y2, x1: x2] , (x1,y1)矩形左上角,(x2,y2)矩形右下角.
image = image[180:550, 55:280]#灰度轉換
GrayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#二值化   # cv2Type: int類型# 0. cv2.THRESH_BINARY# 表示閾值的二值化操作,大于閾值使用maxval表示,小于閾值使用0表示# # 1. cv2.THRESH_BINARY_INV# 表示閾值的二值化翻轉操作,大于閾值的使用0表示,小于閾值的使用最大值表示# ret, thresh2 = cv2.threshold(GrayImage, 88, 255, cv2.THRESH_BINARY_INV)#cv2Threshold 閾值ret, thresh2 = cv2.threshold(GrayImage, cv2Threshold, 255, cv2Type)#ocr 辨識
# output_type=Output.DICT 將獲取具體辨識數據,用于后期處理。
results = pytesseract.image_to_data(thresh2, output_type=Output.DICT, lang='eng')

寫文字,畫矩形

 for i in range(0, len(results["text"])):text = results["text"][i].strip()tmp_tl_x = results["left"][i]tmp_tl_y = results["top"][i]tmp_br_x = tmp_tl_x + results["width"][i]tmp_br_y = tmp_tl_y + results["height"][i]#寫字cv2.putText(thresh2, text, (tmp_tl_x, tmp_tl_y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 255), 1)#畫矩形cv2.rectangle(image, (tmp_tl_x, tmp_tl_y), (tmp_br_x, tmp_br_y), (0, 255, 255), 2)

參考:https://livezingy.com/pytesseract-image_to_data_locate_text/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280488.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280488.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280488.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

編譯安裝Centos7.2+Apache2.4.25+PHP7.2.10+Mysql5.6.16

一、編譯部署Apache2.4.251、環境準備#設置或停止防火墻: [rootlocalhost ~]# systemctl stop firewalld.service [rootlocalhost ~]# systemctl disable firewalld.service#關閉selinux: 臨時關閉: [rootlocalhost ~]# setenforce 0永久關閉…

SDNU 1217 CD收藏——并查集

Description lmh平常愛聽歌,所以買了很多的CD來收藏,但是因為平常整理不當,所以忘記了這些CD的歌手是誰。現在他想知道他到底收藏了多少位歌手的專輯,于是他想了一個辦法,同時拿出兩個CD來聽,可以分辨出來是…

國際知名計算機視覺和機器學習軟件開源平臺OpenCV正式支持龍架構

前言介紹近期,OpenCV開源社區正式合入了對龍架構(LoongArch?)支持的代碼,基于龍架構自主指令系統,優化后的OpenCV性能顯著提升。OpenCV是一款跨平臺的計算機視覺和機器學習軟件平臺,在計算機視覺領域廣泛使…

優化器--牛頓法總結

---這里記錄下一些關于牛頓法來作為優化器的個人筆記 :) 關于牛頓法,先不說其中的概念,來簡單看一個例子? 不用計算器,如何手動開一個值的平方根,比如計算{sqrt(a) | a4 } ? 不用程序…

在命令提示符輸出c語言代碼_您可以在Windows命令提示符中更改輸出緩沖區的大小嗎?...

在命令提示符輸出c語言代碼If you are someone who loves using the Windows Command Prompt, you may have found yourself curious as to why the screen output buffer has such a ‘large’ default size. Can you change it to a smaller (or even larger) size? Today’…

django23:BS4/kindeditor上傳圖片

BS4 Beautiful Soup,Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫.它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式。 安裝 pip3 install beautifulsoup4 使用 from bs4 import BeautifulSoup#html_doc為網頁內容 soup Be…

設計模式——————觀察者模式

工廠模式分為簡單工廠,工廠和抽象工廠,三種工廠的實現是越來越復雜的。 觀察者模式 本質上就是一種訂閱/發布的模型,從邏輯上來說就是一對多的依賴關系。 什么意思呢?好比是一群守衛盯著一個囚犯,只要囚犯一有異動&…

SNMP簡介

SNMP簡介介紹SNMP的定義、目的、版本演進以及受益。 定義簡單網絡管理協議SNMP(Simple Network Management Protocol)是廣泛應用于TCP/IP網絡的網絡管理標準協議。SNMP提供了一種通過運行網絡管理軟件的中心計算機(即網絡管理工作站&#xff…

詳解vue生命周期及每個階段適合進行的操作

VUE生命周期的四個階段 create 創建 -------- 創建vue實例并初始化mount 掛載 -------- 把vue實例和視圖進行關聯update 更新 ------- 監聽數據與視圖的變化destroy銷毀 ------- 銷毀實例生命周期 --- 鉤子函數 vue為上面的4個大的階段提供了一個可編程的接口,我們可…

.Net 7 新編譯器 ILC 簡析

楔子:這個新編譯器的全稱是ILCompiler。是之前CoreRT項目合并過來的,在.Net 7成熟,并且可以產業化應用。本質:ILC編譯器的本質除了構建CLR的所擁有的主要功能,還包含了對LLVM這種意圖取代GCC編譯器的操作,對…

mac 防止 下載 睡眠_如何暫時防止Mac進入睡眠狀態

mac 防止 下載 睡眠Let’s say you start a big download, then go to bed. When you wake up, you realize your Mac went to sleep before finishing its job. Isn’t there some way to stop this? 假設您開始進行大量下載,然后上床睡覺。 當您醒來時&#xff0…

ubuntu安裝chrome driver

首先下載Chrome Driver(Firefox Driver的安裝與該步驟相同) 鏈接: http://chromedriver.storage.googleapis.com/index.html 接下來在控制臺(terminal)上操作一下紅色字體的指令: Install Unzipsudo apt-ge…

深入理解Spring異常處理

宜信技術學院1.前言相信我們每個人在SpringMVC開發中,都遇到這樣的問題:當我們的代碼正常運行時,返回的數據是我們預期格式,比如json或xml形式,但是一旦出現了異常(比如:NPE或者數組越界等等&am…

基于React開發范式的思考:寫在Lesx發布之際

例子:lesx-example webpack loader: lesx-loader 一些背景 現在前端框架已經呈現出React、Angular、Vue三足鼎立的局勢,對于三者的對比以及技術選型的思考與爭論也被討論了非常多,比如知乎上的這個問題:react.js,angular.js,vue.j…

mac共享單個磁盤_如何與您的所有設備共享酒店的單個Wi-Fi連接

mac共享單個磁盤Many hotels still limit you to one or two Wi-Fi devices per room–a frustrating limitation, especially when traveling with someone else. Connection restrictions can apply anywhere you have to log into a Wi-Fi network via a portal instead of …

Python FastApi:快速建立docker容器/掛載共享文件夾/導入導出

一、目的 a.快速把原有fastapi代碼部署到docker,讓docker在server運行。 b.不涉及docker深入設置。 c.使用python第三方lib少或簡單。 二、步驟 ps:請提前安裝docker 1.新建Dockerfile,放入到項目根目錄 a.Dockerfile沒有后綴. b.準備好requireme…

PHP-FPM 與 Nginx 的通信機制總結

PHP-FPM 介紹 CGI 協議與 FastCGI 協議 每種動態語言( PHP,Python 等)的代碼文件需要通過對應的解析器才能被服務器識別,而 CGI 協議就是用來使解釋器與服務器可以互相通信。PHP 文件在服務器上的解析需要用到 PHP 解釋器,再加上對…

Android——監聽事件總結

各種監聽事件 1.按鈕 Button(1)點擊監聽btn_1.setOnClickListener(new View.OnClickListener() { (2)長按監聽btn_1.setOnLongClickListener(new View.OnLongClickListener() { 2.單選框 RadioGroupradio_gp.setOnCheckedChangeLi…

ChatGPT 大智近妖,從宇宙人生到手搓光刻機,從哄女朋友到寫年終總結我們聊得非常開心,反而讓人越來越憂心...

都說 ChatGPT 要干掉程序員,清理搜索引擎,取代Stack Overflow,還能消滅人類,這些有些言過其實了。ChatGPT 的定位是一個人工智能助理,它說,它的主要目的是通過回答用戶的問題,為用戶提供幫助。在…