수 천 페이지의 스캔 된 책 페이지가 있습니다. 각 페이지는 JPG로 개별적으로 저장됩니다. 글은 분명하지만 글꼴은 다양하며 페이지에는 그림과 삽화가 들어 있습니다.
각 JPG 파일에 나타나는 모든 단어 목록을 만들어야합니다. 나타나는 단어가 나열된 이미지를 스캔하기위한 명령 줄 도구가 있습니까? 완벽한 스캔이 필요하지 않으며 추정치 일뿐입니다.
수 천 페이지의 스캔 된 책 페이지가 있습니다. 각 페이지는 JPG로 개별적으로 저장됩니다. 글은 분명하지만 글꼴은 다양하며 페이지에는 그림과 삽화가 들어 있습니다.
각 JPG 파일에 나타나는 모든 단어 목록을 만들어야합니다. 나타나는 단어가 나열된 이미지를 스캔하기위한 명령 줄 도구가 있습니까? 완벽한 스캔이 필요하지 않으며 추정치 일뿐입니다.
답변:
설치 imagemagick
, pdftotext
(명명 된 패키지에 poppler-utils
일부 패키지 관리자에서) ocrmypdf . 후자는 빠르며 (ocr은 많은 CPU를 필요로하며 모든 코어를 사용하도록 구성됨) 오픈 소스이며 자주 업데이트되는 OCR 소프트웨어입니다. 이 방법은 실제로 단어에 레이블을 지정하는 대신 각 단어에 문자열을 할당하려고 시도 할 때 과도하게 사용되지만, 오픈 소스 OCR 소프트웨어를 일반적으로 사용하기에 좋고 쉬운 방법을 찾는 데 많은 어려움을 겪었습니다. 그런 다음 모든 JPG를 저장 한 디렉토리에서 다음을 수행하십시오.
$ convert *.jpg pictures.pdf
$ ocrmypdf pictures.pdf scanned.pdf
$ pdftotext scanned.pdf scanned.txt
$ wc -w scanned.txt
ocrmypdf
내 하루를 만들어
업 스케일 이미지 file.png 480 %, 그레이 스케일로 변경, 흰색으로 백필, 선명하게 한 다음 테서 랙트 OCR을 사용하여 추출합니다. 매우 큰 글꼴을 제외하고 검정 바탕에 흰색을 제외하고는 대부분의 경우 잘 작동합니다. 글꼴이 매우 큰 경우 고급 200 % 또는 300 % 만 가능합니다.
convert -colorspace gray -fill white -resize 480% -sharpen 0x1 file.png file.jpg
tesseract file.jpg file
결과는 file.txt에 있습니다.
Linux 사용자의 경우 Calibre를 사용하여 pdf를 docx로 변환하는 것 외에는 아무것도 작동하지 않습니다. https://calibre-ebook.com/download_linux
for i in /path_to/*.jpg;do ./myocr.sh $i $(basename $i .jpg);done
#!/bin/bash
# PROGRAM=myocr.sh
if [ "$1" ] && [ -e "$1" ]; then
TMPF=$(mktemp myocr.sh.XXXXXXXX.tif)
DEST="$2"
if [ ! "$DEST" ]; then
DEST="${1%.*}.txt"
if [ -e "$DEST" ]; then
echo "$DEST already exists; please provide a new textfile name" >&2
exit 1
fi
fi
/usr/bin/convert "$1" -colorspace Gray -depth 8 -resample 200x200 -flatten -alpha Off $TMPF \
&& /usr/bin/tesseract $TMPF "$DEST"
EX=$?
/bin/rm -f $TMPF
[ $EX -eq 0 ] && [ "$TERM" ] && echo "created $DEST"
exit $EX
else
echo "Usage: $0 imagefile [textfile]" >&2
echo " creates a plain text file with the text found in imagefile" >&2
exit 1
fi