Я уже создал программу, которая превращает текст PDF в изображение, и я хотел бы сохранить только те части текста, которые заключены в квадратные скобки:
Например, первая часть текста, которую я хочу сохранить, будет:
Я знаю, что могу использовать Image
из PIL
, а затем функцию .crop(left, upper, right, lower)
, но я не знаю, как дать ему знать, я хочу часть, в которой есть [
в тексте.
Я знаю эта ссылка может быть полезна, даже если мы извлекаем изображение по цвету. Действительно, они стремятся найти контуры и перебрать. Если они находят 4 угла, они делают еще одну вещь, которая приводит к извлечению текста. Здесь у нас есть 2 угла
Вот часть кода, который я сделал, чтобы получить текст с изображения в формате PDF:
for file_name in file_names:
# load the image and convert it to grayscale
image = cv2.imread(file_name)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# check to see if we should apply thresholding to preprocess the
# image
if args["preprocess"] == "thresh":
gray = cv2.threshold(gray, 0, 255,
cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]
# make a check to see if median blurring should be done to remove
# noise
elif args["preprocess"] == "blur":
gray = cv2.medianBlur(gray, 3)
# write the grayscale image to disk as a temporary file so we can
# apply OCR to it
filename = "{}.png".format(os.getpid())
cv2.imwrite(filename, gray)
# load the image as a PIL/Pillow image, apply OCR, and then delete
# the temporary file
text = pytesseract.image_to_string(Image.open(filename))
os.remove(filename)
#print(text)
with open('resume.txt', 'a+') as f:
print('***:', text, file=f)