opencv 我在尝试将图片中的文本列表转换为python中的列表时遇到权限错误

sz81bmfz  于 2022-11-15  发布在  Python
关注(0)|答案(1)|浏览(94)
import cv2
import pytesseract
import ast


pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR'

img=cv2.imread("number_1.jpg")

img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
new_array=[]
arr=pytesseract.pytesseract.image_to_string(img)
try :
    arr = ast.literal_eval(arr)

except:
    arr=arr.split("\n")
    arr =list(filter(None, arr))

    for i in arr:
        i=i.split(",")
        for j in i:
            j =int(j)
            new_array.append(j)

    arr=new_array

    

cv2.imshow("result",img)
cv2.waitKey(0)

当我试图将图片中的文本列表转换为python中的列表时,我遇到了一个权限错误。我不必这样做这个测试,但昨天尝试时发生了,但今天没有工作。

Traceback (most recent call last):
  File "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\main.py", line 14, in <module>
    arr=pytesseract.pytesseract.image_to_string(img)
  File "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", line 423, in image_to_string
    return {
  File "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", line 426, in <lambda>
    Output.STRING: lambda: run_and_get_output(*args),
  File "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", line 288, in run_and_get_output
    run_tesseract(**kwargs)
  File "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", line 255, in run_tesseract
    proc = subprocess.Popen(cmd_args, **subprocess_args())
  File "C:\Users\ayano\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 969, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\ayano\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 1438, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
PermissionError: [WinError 5] Erişim engellendi
gjmwrych

gjmwrych1#

我找到了解决方案。我将名为“eng.traineddata”的22 mb文件解压缩到一个外部文件夹。也就是名为tesseract-ocr的文件夹。

相关问题