在數位時代,我們經常需要將圖片上的文字提取出來,這就是光學字符識別(Optical Character Recognition,OCR)技術的用武之地。無論是從圖片中提取文本信息,還是將手寫筆記轉換為數字形式,OCR都可以幫助我們實現這些任務。而今天我們要介紹的是一個使用Python語言和Google Colab平台實現的圖片轉文字的功能,讓每個人都能輕鬆使用。
實作步驟
步驟一:準備工作
首先,我們需要準備好Google Colab的環境,確保我們能夠使用其中的Python模組和工具。
如果你還沒有Google Colab帳號,可以通過Google帳號註冊一個。
步驟二:匯入圖片
在Colab中,我們可以使用 files.upload()
方法來上傳圖片。
from google.colab import files
uploaded = files.upload()
for filename in uploaded.keys():
print('Uploaded file "{name}" with length {length} bytes'.format(
name=filename, length=len(uploaded[filename])))
點擊運行然後匯入圖片後,結果如下:
步驟三:安裝模組
接下來,我們需要使用OCR庫來識別圖片上的文字。
這裡我們使用 pytesseract
,它是一個Python模組,可以方便地使用Google的Tesseract-OCR引擎。
如果你還沒有安裝 pytesseract
,可以在Colab中安裝:
!pip install pytesseract
在Colab環境中若有遇到執行後出現Error:
TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information
這是因為 Tesseract OCR 沒有安裝或者無法在系統的 PATH 中找到。
可以改為以下程式來安裝。
!apt-get install tesseract-ocr
!apt-get install libtesseract-dev
!pip install pytesseract
順利安裝完後就可以順利使用套件啦!
步驟四:圖片轉文字
現在我們可以將上傳的圖片讀取並進行OCR處理:
import pytesseract
from PIL import Image
import matplotlib.pyplot as plt
# 開啟圖片
img = Image.open(filename)
# 顯示圖片
plt.imshow(img)
plt.axis('off') # 不顯示座標軸
plt.show()
# 將圖片轉換為文本
text = pytesseract.image_to_string(img)
# 輸出識別的文字
print("圖中文字為: "+text)
輸出結果如下:
成功!
完整程式碼
將上述步驟整合起來,我們可以得到一個完整的程式碼,用於在Google Colab中實現圖片轉文字的功能:
from google.colab import files
import pytesseract
from PIL import Image
import matplotlib.pyplot as plt
# 上傳圖片
uploaded = files.upload()
for filename in uploaded.keys():
print('Uploaded file "{name}" with length {length} bytes'.format(
name=filename, length=len(uploaded[filename])))
import pytesseract
# 開啟圖片
img = Image.open(filename)
# 顯示圖片
plt.imshow(img)
plt.axis('off') # 不顯示座標軸
plt.show()
# 將圖片轉換為文本
text = pytesseract.image_to_string(img)
# 輸出識別的文字
print("圖中文字為: "+text)
補充說明
在這篇文章中,我們使用了Python中的幾個模組來實現圖片轉文字的功能:
google.colab
: 這是Google Colab提供的模組,用於在Colab環境中進行文件上傳等操作。pytesseract
: 這是一個Python的OCR模組,可以方便地使用Google的Tesseract-OCR引擎,用於將圖片中的文字識別出來。PIL
: 這是Python Imaging Library的縮寫,提供了許多處理圖片的功能,包括打開、編輯和保存圖片等。
這個教學的主要步驟包括上傳圖片、使用Tesseract-OCR進行文字識別,然後輸出識別的文字。通過這個過程,我們可以輕鬆地從圖片中提取出文字信息,並進行後續的處理和分析。
應用場景
圖片轉文字的功能在各個領域都有廣泛的應用,例如:
- 數據輸入:將紙本文件中的文字轉換為數字形式,便於進行數據處理和分析。
- 文字識別:識別圖片中的文字,用於自動化識別、驗證碼識別等場景。
- 手寫文字識別:將手寫文字轉換為數字形式,用於筆記、手寫板等應用。
因此,掌握圖片轉文字的技術,將會對各行各業帶來便利和效率提升。
結語
在本篇文章中,我們探索了如何利用Python和Google Colab快速實現圖片轉文字的功能。
雖然這是一個強大的工具,但需要注意的是,對於手寫文字的識別可能會有一定的挑戰性,文中成功的案例也是使用電腦打的一些簡單數字。
希望本文能為你提供一些有用的信息,並且在你的實踐中取得一些進步。