Как получить текст из изображения в веб-приложении Django с помощью tesseract?

я создаю веб-приложение django для извлечения текста из изображений. я хочу использовать для этого tesseract. но код tesseract python работает нормально на windows pc и не работает в веб-приложении django.

вот ошибка, когда я запускаю код python с помощью кнопки html click button

tesseract-ocr/tesseract.exe не установлен или его нет в вашем пути.

вот мой python код для tesseract в django web app

def text1():
     global img

     import pytesseract as tess
     tess.pytesseract.tesseract_cmd = r'Tesseract-OCR\\tesseract.exe'
     from PIL import Image

     def program():

         img = Image.open("./static/img/figure-65.png")
         text = tess.image_to_string(img)

         print(text)

     program()

вызов функции text1 при нажатии html-кнопки, и она правильно установлена в views.py и urls.py

На этом изображении показано, где находится код tesseract python и tesseract.exe В imageToText.py находится python-код.

Вы можете видеть Tesseract-OCR Папку, в которой находятся **tesseract.exe**.

This image shows where the tesseract python code and tesseract.exe

urls.py веб-приложения

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name="home"),
    path('openC', views.openC, name="openC"),
    path('text1', views.text2, name="text1"),
]

urls.py основного веб-проекта

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

from img2text.settings import MEDIA_ROOT

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include("imgtext.urls"))
      
    ]+ static(settings.MEDIA_URL, document_root=MEDIA_ROOT)

views.py

from django.shortcuts import render,redirect
from .form import ImageForm
from .models import Image
from .imageToText import text1
from .opencvtext import openCv


def home(request):
    if request.method == "POST":
        form=ImageForm(data=request.POST,files=request.FILES)
        if form.is_valid():
            form.save()
            obj=form.instance
            
            return render(request,"index.html",{"obj":obj})
    else:
        form=ImageForm()
    img=Image.objects.all()

    return render(request,"index.html",{"img":img,"form":form})

def openC(request):
    openCv()

def text2(request):
    text1() #tesseract function call

Итак, что я сделал не так? Как это исправить или любой другой способ получить текст из изображения в django python?

Вернуться на верх