最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python進行圖片信息提取并重命名

 更新時間:2024年10月29日 11:21:32   作者:PythonFun  
Tesseract-OCR是一款優(yōu)秀的開源OCR軟件,本文主要介紹了如何使用Tesseract-OCR工具識別圖片并提取信息,感興趣的小伙伴可以跟隨小編一起學習一下

一、問題

有人在微信群問如何快速把一些圖片中的第一行或第二行的文字提取出來,并將其重命名。人工操作費時費力,如果用Python就可以實現(xiàn)批量操作,而不必一張一張識別、校對再重命名了。

二、主要思路

Tesseract-OCR是一款優(yōu)秀的開源OCR軟件,目前由Google維護改進,已發(fā)展到5.0版本,從4.0版本起增加了基于LSTM神經(jīng)網(wǎng)絡(luò)的識別引擎。

本項目的主要思路是用Tesseract-OCR工具來識別圖片,雖然這個工具的識別率并不高,但是免費可以使用,親測效果不錯。然后,提取圖片中的第一行和第二行的內(nèi)容為字符串,并將其中不能用于文件名的符號清除掉,再采用os.rename()來重命名。

1. 安裝相應(yīng)的包

要想識別圖片,就要安裝了 pytesseract 庫和PIL庫

pip install pytesseract,PIL

2. 下載Tessaract-OCR工具

如果光安裝pytesseract庫,不安裝這個軟件也不行,大家可以去下面的地址下載。

https://github.com/UB-Mannheim/tesseract/wiki?github.com/UB-Mannheim/tesseract/wiki

下載和你系統(tǒng)警醒的軟件

3. 安裝Tesseract

下載到本地后,大約有49M,然后進行安裝,注意下載過程中要識別不同的語言,就要勾選相應(yīng)的語種,如我要識別的是中文,語言那里勾選的是Chinese-Simplified。

安裝Tesseract

4. 配置環(huán)境

安裝完之后,我們還需要找到安裝目錄下這個Tesseract.exe的路徑,把它的路徑放到Python里。

pytesseract.pytesseract.tesseract_cmd = r'D:\Program Files\Tesseract-OCR\tesseract.exe'

5. 編寫代碼

萬事俱備,就可以編寫代碼。編寫時,需要用到文件管理模塊os,正則表達式模塊re,圖像編輯模塊PIL等。

import os
import re
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'D:\Program Files\Tesseract-OCR\tesseract.exe'
 
def sanitize_filename(name):
    """去除文件名中不允許的字符"""
    return re.sub(r'[<>:"/\\|?*]', '', name)
 
def rename_images_with_first_line_text(folder_path):
    # 獲取文件夾中所有的jpg圖片
    for filename in os.listdir(folder_path):
        if filename.lower().endswith(".jpg"):
            image_path = os.path.join(folder_path, filename)
            try:
                # 打開圖片并使用 pytesseract 識別第一行文字
                image = Image.open(image_path)
                text = pytesseract.image_to_string(image, lang="chi_sim")  # 識別簡體中文
                first_line = "".join(text.splitlines()[0:2]).strip()  # 僅取第一行和第二行文字并去除空格
 
                if first_line:
                    # 將文件名設(shè)為識別到的第一行文字
                    new_filename = f"{sanitize_filename(first_line)}.jpg"
                    new_path = os.path.join(folder_path, new_filename)
                    os.rename(image_path, new_path)
                    print(f"文件已重命名為: {new_filename}")
                else:
                    print(f"未檢測到文字,跳過文件: {filename}")
 
            except Exception as e:
                print(f"處理文件 {filename} 時出錯: {e}")
 
# 使用文件夾路徑調(diào)用函數(shù)
folder_path = "."  # 替換為存放JPG圖片的文件夾路徑
rename_images_with_first_line_text(folder_path)

三、學后總結(jié)

1. 采用tesseract來進行圖片識別效率還挺高,一秒基本上一張,就是準備率還需要進一步提升。據(jù)說還可以進行模型訓練,進一步提高其準確率。

2. 后期可以采用百度等大廠的圖片識別api進行語片識別,進一步提高準確率。

3. 采用指定模塊進行圖片識別提供了一個不錯的思路,畢竟現(xiàn)在api的調(diào)用費也十分高昂。

到此這篇關(guān)于Python進行圖片信息提取并重命名的文章就介紹到這了,更多相關(guān)Python提取圖片信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于numpy實現(xiàn)邏輯回歸

    基于numpy實現(xiàn)邏輯回歸

    這篇文章主要為大家詳細介紹了基于numpy實現(xiàn)邏輯回歸,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Python可變默認參數(shù)陷阱案例和解決方案

    Python可變默認參數(shù)陷阱案例和解決方案

    在Python開發(fā)中,函數(shù)參數(shù)的默認值是一個既方便又危險的特性,它允許我們?yōu)閰?shù)提供預(yù)設(shè)值,簡化函數(shù)調(diào)用,但在使用可變對象作為默認參數(shù)時,卻隱藏著令人困惑的陷阱,本文將通過深入解析Python函數(shù)參數(shù)的底層機制,揭示可變默認參數(shù)的陷阱本質(zhì),需要的朋友可以參考下
    2025-12-12
  • Python的Flask框架及Nginx實現(xiàn)靜態(tài)文件訪問限制功能

    Python的Flask框架及Nginx實現(xiàn)靜態(tài)文件訪問限制功能

    這篇文章主要介紹了Python的Flask框架及Nginx實現(xiàn)靜態(tài)文件訪問限制功能,Nginx方面利用到了自帶的XSendfile,需要的朋友可以參考下
    2016-06-06
  • GPU版本安裝Pytorch的最新方法步驟

    GPU版本安裝Pytorch的最新方法步驟

    最近深度學習需要用GPU版本的pytorch來加速運算,所以下面這篇文章主要給大家介紹了關(guān)于GPU版本安裝Pytorch的最新方法步驟,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 使用Python進行圖像批處理的方法示例

    使用Python進行圖像批處理的方法示例

    在Python中進行圖像批處理可以使用多種庫,如 Pillow、OpenCV 和 imageio,這些庫可以用來執(zhí)行各種圖像處理任務(wù),如調(diào)整大小、裁剪、旋轉(zhuǎn)、濾鏡應(yīng)用等,以下是使用這些庫進行圖像批處理的示例,需要的朋友可以參考下
    2024-09-09
  • python實現(xiàn)趣味圖片字符化

    python實現(xiàn)趣味圖片字符化

    這篇文章主要為大家詳細介紹了python實現(xiàn)趣味圖片字符化,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 玩轉(zhuǎn)python爬蟲之正則表達式

    玩轉(zhuǎn)python爬蟲之正則表達式

    這篇文章主要介紹了python爬蟲的正則表達式,正則表達式在Python爬蟲是必不可少的神兵利器,本文整理了Python中的正則表達式的相關(guān)內(nèi)容,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Python連接Spark的7種方法大全

    Python連接Spark的7種方法大全

    Apache Spark 是一個強大的分布式計算框架,廣泛用于大規(guī)模數(shù)據(jù)處理,通過 PySpark,Python 開發(fā)者能夠無縫接入 Spark 生態(tài)系統(tǒng),本文給大家介紹了Python連接Spark的7種方法,從入門到生產(chǎn)級部署,需要的朋友可以參考下
    2025-11-11
  • Python版微信紅包分配算法

    Python版微信紅包分配算法

    微信紅包告訴你,學好數(shù)學,真的可以多搶紅包!!下面就和大家分享一下?lián)尲t包的秘籍,簡單概括就是:讓朋友先上!
    2015-05-05
  • python調(diào)用pyaudio使用麥克風錄制wav聲音文件的教程

    python調(diào)用pyaudio使用麥克風錄制wav聲音文件的教程

    這篇文章主要介紹了python調(diào)用pyaudio使用麥克風錄制wav聲音文件的教程,詳細的給大家介紹了pyaudio庫的安裝與使用,需要的朋友可以參考下
    2019-06-06

最新評論

启东市| 厦门市| 平泉县| 巴里| 柳河县| 南和县| 泾源县| 岢岚县| 英德市| 星子县| 正蓝旗| 陆河县| 葫芦岛市| 思茅市| 安宁市| 宜黄县| 富宁县| 陆丰市| 贵州省| 赤水市| 三江| 河北区| 紫金县| 昌宁县| 伊金霍洛旗| 宁化县| 寿阳县| 齐齐哈尔市| 泸定县| 高青县| 霍山县| 内丘县| 永川市| 红桥区| 娄底市| 海南省| 象州县| 肥城市| 德令哈市| 达日县| 辽中县|