2023年12月7日 星期四

jpg2txt圖檔轉換為文字檔(PYTHON)

作業環境前置準備:

 安裝必要性元件(辨識核心元件tesseract-ocr 需下載安裝,外加要辦識之語系)

 

安裝相關套件

 pip install pillow

 pip install pytesseract

 

 PYTHON程式,如下:

# -*- coding: utf-8 -*-
'''
python取圖檔,辨識中文
'''
#'開啟檔案總管 (開啟轉換後之檔案使用)'
import os,sys
import subprocess
import glob
from os import path

from PIL import Image
import pytesseract

# 檢查命令列參數是否足夠
if len(sys.argv) < 2:
    print("Usage: python ocr_script.py <image_file>")
    sys.exit(1)  # 結束程式,返回錯誤碼

file_path = sys.argv[1]  # 取得第一個命令列參數作為檔案路徑

#'預設位址如下,但如安裝不同處,需告訴PYHTON 辨識核心元件在哪,如此方能辦識處理
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract.exe'

img = Image.open(file_path)

#辯識如為繁體中文字之圖檔,參數為'chi_tra' ;🏯日文字之圖檔,參數改為'jpn'
text1 = pytesseract.image_to_string(img, lang='chi_tra')

#出現UnicodeEncodeError: 'cp950' codec can't encode character '\u5f53',需再加入UTF8編碼,
如下open('file.txt', mode = 'w', encoding='UTF-8')

 with open('file.txt', mode = 'w') as f:
    f.write(text1)
    f.close()

#'將剛才圖檔辨識後結果,以檔案總管直接將它開啟查閱
subprocess.Popen('explorer "file.txt"')
    

運用方式1:可將您未提供字幕YOUTUBE網站,不瞭解的日文考題,截圖辦識成純文字後(將PYTHON編譯成EXE,再透過圖檔右鍵傳送到EXE檔(shell:sendto),立即取得日文純文字考題),再貼到 AI神器去解析考題,省去打字時間 。

運用方式2:以目前AI辦識技術已非難事,將截圖片段直接上傳AI,無需透過本程式,亦是另一種可行方式,但缺點是需考量上傳資料是否涉機敏性(如:公司公文、個資等),如有就可使用此離線工具做轉換辨識處理。


相關參考資訊:

Mac系統OCR辨識工具