Как лучше всего улучшить плохо читаемый текст с помощью Python? [закрыто]Python

Программы на Python
Ответить
Гость
 Как лучше всего улучшить плохо читаемый текст с помощью Python? [закрыто]

Сообщение Гость »

Мне нужно отправить сообщение, которое, к сожалению, у меня есть только в бумажном виде и оно уже очень неразборчиво, да и принтер слегка ухудшил его при сканировании.
ChatGPT рекомендовал мне использовать Python для улучшения читаемости текста. Код прошел, но из исходных трех страниц появилась только одна, на которой было немного случайного текста, поэтому он, очевидно, вообще не мог с этим справиться.

Код: Выделить всё

import cv2
import numpy as np
import pytesseract
from pdf2image import convert_from_path
from reportlab.pdfgen import canvas

# 🔧 nastav cesty
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
POPPLER_PATH = r"C:\poppler\Library\bin"

# vstup
PDF_FILE = "input.pdf"

# převod PDF na obrázky
images = convert_from_path(PDF_FILE, poppler_path=POPPLER_PATH)

all_text = []

for i, img in enumerate(images):
img = np.array(img)

# grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# zvýšení kontrastu (KLÍČOVÉ)
enhanced = cv2.convertScaleAbs(gray, alpha=2.0, beta=-100)

# threshold (zesílení textu)
_, thresh = cv2.threshold(enhanced, 150, 255, cv2.THRESH_BINARY)

# OCR (čeština)
text = pytesseract.image_to_string(thresh, lang="ces")

all_text.append(text)

# vytvoření PDF
c = canvas.Canvas("output.pdf")

y = 800
for page in all_text:
for line in page.split("\n"):
c.drawString(40, y, line)
y -= 15
if y < 40:
c.showPage()
y = 800

c.save()

print("Hotovo: output.pdf")
Мне нужен код, который будет работать и хотя бы возвращать тексту бумажное качество, где он будет хоть немного читабелен. К сожалению, я не могу разместить здесь PDF-файл, но для информации это светло-серый текст на белом фоне на чешском языке.
Большое спасибо

Подробнее: https://stackoverflow.com/questions/799 ... ing-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»