Записать текст изображения в новый текстовый файл? - PullRequest
0 голосов
/ 01 июня 2019

Я использую тессеракт для распознавания текста. Я на Ubuntu 18.04.

У меня есть эта программа, которая извлекает текст из изображения и распечатывает его. Я хочу, чтобы эта программа создала новый текстовый файл и вставила извлеченный контент в новый текстовый файл, но я могу сделать это только

  • скопировать содержимое в буфер обмена
  • открыть новый файл texteditor (geditor) Я не знаю, как вставить скопированный контент

Вот моя программа, которая извлекает текст из изображения

from pytesseract import image_to_string 
from PIL import Image
print image_to_string(Image.open('sample.jpg'))

Вот программа, которая копирует текст в буфер обмена,

import os
def addToClipBoard(text):
    command = 'echo ' + text.strip() + '| clip'
    os.system(command)

Эта программа откроет гедитор и создаст новый текстовый файл

import subprocess
proc = subprocess.Popen(['gedit', 'file.txt'])

Буду признателен за любую помощь.

Ответы [ 2 ]

2 голосов
/ 01 июня 2019

Если вам нужен только текст, откройте текстовый файл и напишите в него:

from pytesseract import image_to_string 
from PIL import Image
text =  image_to_string(Image.open('sample.jpg'))

with open('file.txt', mode = 'w') as f:
    f.write(text)
1 голос
/ 01 июня 2019

Как я и предложил в комментарии, создайте новый файл и запишите в него извлеченный текст:

with open('file.txt', 'w') as outfile:
    outfile.write(image_to_string(Image.open('sample.jpg')))
...