วิธีหลีกเลี่ยงผลลัพธ์ที่บิดเบือนด้วยเครื่องมือ OCR pdfsandwich


1

โดยปกติแล้วหน้าที่สแกนจะต้องได้รับการสเตดูแลก่อนที่จะใช้เครื่องมือ OCR ที่นี่อินพุตของฉันเป็นหน้าที่สแกนแบบตรงและบางครั้งเอาต์พุต OCR จะเบ้ทั้งตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา ในกรณีที่ฉันใช้หนังสือภาษาอังกฤษ 260 หน้ามันเกิดขึ้นกับ 14 หน้า

ตัวอย่าง: input.pdf: input.pdf

output.pdf output.pdf

คำสั่ง:

convert -density 300 -quality 100 input.pdf -level 0%,100%,4.0 -black-threshold 75% convert.pdf && pdfsandwich -noimage -coo "-normalize  -density 300 -black-threshold 75%" convert.pdf -o output.pdf

ฉันจะหลีกเลี่ยงผลลัพธ์ที่เอียงได้อย่างไร

อีกวิธีหนึ่งฉันสามารถเดสก์ท็อปเอาต์พุตโดยไม่ทำให้ OCR หายไปได้อย่างไร วิธีการและเครื่องมือทั้งหมดที่ฉันได้พบการแปลงครั้งแรกเป็นรูปแบบภาพที่ทำให้สูญเสีย OCR แล้วไม่มีประโยชน์ที่นี่

คำตอบ:


0

ขอบคุณRemy Fฉันสามารถเขียนโซลูชันนี้ได้ด้วยความช่วยเหลือของไฟล์ LaTeX นี้ซึ่งนำเข้า output.pdf และหมุนมัน:

\documentclass{article} 
\usepackage[paperwidth=6.38in,paperheight=10.32in,bindingoffset=0in,top=-0.39in,bottom=0in,left=-0.29in,right=0in,footskip=0in]{geometry}
\usepackage{graphicx}

\begin{document}

\pagestyle{empty}
\begin{figure}[t]
    \includegraphics[scale=0.233,angle=-4]{output.pdf} 
\end{figure}

\end{document}

แล้ว:

pdflatex output_tex.tex

สร้าง output_tex.pdf: ป้อนคำอธิบายรูปภาพที่นี่

มันจะเป็นการดีถ้าคุณสามารถปรับขนาดและระยะขอบโดยอัตโนมัติเพื่อให้กระบวนการอัตโนมัติ

แก้ไข: ฉันมีความคืบหน้าบางอย่างเพื่อให้ได้มุมเอียงโดยอัตโนมัติ:

angle=`convert output.pdf -deskew 40 -format "%[deskew:angle]" info:`

ถ้าฉันทำให้เป็นอัตโนมัติมันจะนำไปสู่:

#/bin/bash
name=${1%.*}
ext=${1##*.}
convert -density 300 -quality 100 ${name}.$ext -level 0%,100%,4.0 -black-threshold 75%  ${name}_convert.$ext
pdfsandwich -noimage -coo "-normalize  -density 300 -black-threshold 75%" ${name}_convert.$ext -o ${name}_ocr.$ext
angle=`convert ${name}_ocr.$ext -deskew 40 -format "%[deskew:angle]" info:`
angle=`echo "${angle}*-1" | bc`
echo "  angle = $angle"
sed -e "s/ANGLE/$angle/" -e "s/FILE/${name}_ocr.$ext/" /var/ocr/pdfrotate.tex > ${name}_ocr_straight.tex
pdflatex ${name}_ocr_straight.tex
rm ${name}_convert.$ext ${name}_ocr_straight.tex ${name}_ocr_straight.aux ${name}_ocr_straight.log

ด้วย /var/ocr/pdfrotate.tex:

\documentclass{article}
\usepackage[paperwidth=6.38in,paperheight=10.32in,bindingoffset=0in,top=-0.39in,bottom=0in,left=-0.29in,right=0in,footskip=0in]{geometry}
    \usepackage{graphicx}
    \begin{document}
    \pagestyle{empty}
    \begin{figure}[t]
        \includegraphics[scale=0.233,angle=ANGLE]{FILE}
    \end{figure}
    \end{document}

สเกลดูขวาและขึ้นอยู่กับเอกสาร แต่น่าเสียดายที่พารามิเตอร์เรขาคณิตด้านบนและด้านซ้ายที่ฉันปรับสำหรับหน้าทดลองของฉันไม่ดีสำหรับหน้าอื่น ฉันไม่ทราบวิธีการทำให้เป็นอัตโนมัติ อาจเป็นไปได้โดยการทำให้หน้าต้นฉบับและหน้าผลลัพธ์เป็นหนึ่งเดียวและทำการปรับปรุงความสัมพันธ์ของหน้าด้วยค่าพารามิเตอร์ด้านบนและด้านซ้าย


0

ฉันยังมีปัญหานี้มันจะทำอย่างไรกับหนึ่งในคำสั่ง pdfsandwich ทำงาน: unpaper อัลกอริทึม deskewing ใน depaper ขาด คุณสามารถส่งต่อพารามิเตอร์ไปยัง unpaperผ่านทางสวิตช์ -unpo เช่น-unpo "-dv 0"ที่ควรปิดการใช้งาน deskew หากหน้าเว็บของคุณมีความคมชัดและพร้อมใช้ OCR คุณสามารถปิดใช้งานการประมวลผลล่วงหน้าทั้งหมดด้วย-noprepro

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.