最近嘗試讀取影像發生錯誤

unstructured_pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH

這個是當使用 langchain 的 UnstructuredImageLoader 時候發生的錯誤

去看一下原始碼是因為必須要安裝 OCR套件tesseract 並且設定執行路徑在windows 的環境變數 PATH中

但是我實在是想在程式中指定就好

發現可以這樣寫

from unstructured_pytesseract import pytesseract
pytesseract.tesseract_cmd = 'C:\Tesseract-OCR/tesseract'
from langchain_community.document_loaders import WebBaseLoader, TextLoader, UnstructuredImageLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter

documents = []


loader = UnstructuredImageLoader(
    "images/test_01.jpg", mode="elements",
    )

data = loader.load()

data[0]
因為在 unstructured_pytesseract\pytesseract.py 他的執行路徑是直接寫死的

from packaging.version import InvalidVersion
from packaging.version import parse
from packaging.version import Version
from PIL import Image


tesseract_cmd = 'tesseract'

所以我嘗試用直接指定 tesseract 的路徑方式看看

結果發現是可以的

給大家參考囉~