کتابخانه رایگان روبی برای تبدیل تصویر به متن و PDFهای قابل جستجو
کتابخانه متنباز OCR روبی که به توسعهدهندگان نرمافزار امکان انجام تشخیص نوری کاراکتر (OCR) را برای استخراج متن از اسناد اسکنشده، تصاویر یا حتی اسکرینشاتها میدهد
RTesseract چیست؟
تشخیص نوری کاراکتر (OCR) به عنوان پلی تحولآفرین بین رسانههای بصری و دادههای دیجیتال عمل میکند و به ماشینها امکان میدهد متن را با دقت از تصاویر و اسناد اسکنشده استخراج کنند. برای توسعهدهندگان در اکوسیستم روبی، کتابخانه منبع باز RTesseract دروازهای با کارایی بالا به توان موتور OCR تسرکت فراهم میکند. این موتور که ابتدا توسط Hewlett‑Packard ابداع شد و سپس توسط گوگل بهبود یافت، بهطور گستردهای بهعنوان یک راهحل برتر برای تبدیل تصویر به متن شناخته میشود. با عمل بهعنوان یک رابط پیشرفته، RTesseract امکان ادغام یکپارچه OCR تسرکت را در هر پروژه روبی فراهم میکند و نیاز به مدیریت دستی تعاملات پیچیده خط فرمان را از بین میبرد، در حالی که دقت مورد نیاز برای دیجیتالیسازی اسناد در سطح حرفهای را حفظ میکند.
علاوه بر سهولت استفاده، RTesseract یک کتابخانهٔ چندمنظورهٔ Ruby است که برای پشتیبانی از مجموعهای گسترده از فرمتهای تصویری از جمله PNG، JPEG، BMP و TIFF طراحی شده است. این انعطافپذیری اطمینان میدهد که با تقریباً هر منبع تصویری سازگار باشد، در حالی که توانایی استفاده از فایلهای دادهٔ سراسری Tesseract امکان تشخیص متن چندزبانه با قابلیت اطمینان بالا را فراهم میکند. برای افزایش بیشتر یکپارچگی دادهها، این کتابخانه امتیازهای اطمینان برای هر کلمهٔ شناساییشده ارائه میدهد تا توسعهدهندگان بتوانند بهصورت برنامهنویسی کیفیت خروجی OCR را ارزیابی کنند. به عنوان یک پروژهٔ متنباز، RTesseract راهحلی کمهزینه، قابل تنظیم و قدرتمند برای تیمهایی که به دنبال خودکارسازی جریانهای استخراج داده و ساخت برنامههای Ruby هوشمندتر و آگاه به متن هستند، فراهم میکند.
شروع کار با RTesseract
روش پیشنهادی برای نصب RTesseract استفاده از Rubygems است. لطفاً برای نصب بدون مشکل از فرمان زیر استفاده کنید.
نصب RTesseract از طریق Rubygems
$ gem install rtesseract نصب RTesseract از طریق GitHub
git clone https://github.com/dannnylo/rtesseract.git میتوانید کتابخانهٔ مشترک کامپایلشده را از مخزن گیتهاب دانلود کنید.
تبدیل تصویر به متن از طریق API روبی
کتابخانه RTesseract کار را برای توسعهدهندگان آسان میکند تا یک تصویر را درون برنامههای Ruby بارگذاری و به متن تبدیل کنند. سادهترین مورد استفاده تبدیل یک تصویر به رشتهای از متن است. تنها با چند خط کد میتوانید متن را از یک فایل تصویر استخراج کنید. مثال کد زیر تصویر را بارگذاری کرده و با Tesseract پردازش میکند و متن شناساییشده را بهعنوان یک رشته Ruby با استفاده از دستورات Ruby برمیگرداند.
چگونه یک تصویر را بارگذاری کرده و از طریق API روبی به متن تبدیل کنیم؟
require 'rtesseract'
image = RTesseract.new("path/to/your_image.jpg")
text = image.to_s
puts "Extracted Text: #{text}"
تبدیل تصویر به PDF قابل جستجو از طریق روبی
کتابخانه منبع باز RTesseract پشتیبانی کامل برای تبدیل یک تصویر به PDF قابل جستجو فراهم کرده است، بهطوری که چیدمان و رنگهای تصویر را درون برنامههای Ruby حفظ میکند. مثال زیر نشان میدهد که توسعهدهندگان نرمافزار چگونه میتوانند با استفاده از دستورات Ruby، یک سند PDF قابل جستجو از تصاویر تولید کنند.
چگونه یک تصویر JPEG را به فایل PDF قابل جستجو تبدیل کنیم با استفاده از کتابخانه روبی؟
require 'rtesseract'
image = RTesseract.new("path/to/my_image.jpg")
pdf_file = image.to_pdf # Returns an open file handle for the PDF
File.write("output.pdf", pdf_file.read)
پیکربندی سفارشی برای Tesseract
کتابخانه منبع باز RTesseract به متخصصان نرمافزار اجازه میدهد تنظیمات Tesseract را پیکربندی کنند، از جمله زبان، حالت تقسیمبندی صفحه، محدود کردن OCR به تشخیص ارقام و حالت موتور OCR. این امکان را میدهد تا فرآیند OCR را برای دقت بهتر بهدقت تنظیم کنید. میتوانید تنظیمات Tesseract را با استفاده از گزینه config سفارشی کنید. در مثال زیر، psm (حالت تقسیمبندی صفحه) بر روی ۶ تنظیم شده و oem (حالت موتور OCR) بر روی ۱ تنظیم شده است.
چگونه تنظیمات Tesseract را در برنامههای روبی سفارشی کنیم؟
image = RTesseract.new('path/to/image.png', config: { psm: 6, oem: 1 })
text = image.to_s
puts text
پشتیبانی چند زبانه
اگر تصویر شما حاوی متن به زبان خاصی باشد، میتوانید با مشخص کردن زبان، دقت را بهبود دهید. این کتابخانه از زبانهایی مانند انگلیسی (پیشفرض)، آلمانی، فرانسوی، ایتالیایی، هلندی، پرتغالی، اسپانیایی، ویتنامی و غیره پشتیبانی میکند. لطفاً اطمینان حاصل کنید که بسته زبان مربوطه با Tesseract نصب شده باشد. در مثال زیر گزینه lang بر روی 'fra' برای فرانسوی تنظیم شده است. میتوانید از هر کد زبانی که Tesseract پشتیبانی میکند استفاده کنید.
چگونه تصویر را به متن در زبانهای دیگر تبدیل کنیم با استفاده از کتابخانه روبی؟
image = RTesseract.new('path/to/image.png', lang: 'fra') # French language
text = image.to_s
puts text