Cara menggunakan Python untuk melaksanakan pengecaman fon pada gambar
Pengecaman fon ialah teknologi yang menukar teks dalam gambar kepada teks yang boleh diedit. Ia mempunyai kepraktisan yang hebat dalam banyak senario aplikasi, seperti pemprosesan dokumen automatik, pengekstrakan teks, OCR, dsb. Artikel ini akan memperkenalkan cara menggunakan Python untuk mengenal pasti fon pada imej dan memberikan contoh kod yang sepadan.
Persediaan
Pertama, kita perlu memasang beberapa perpustakaan Python yang diperlukan. Masukkan arahan berikut pada baris arahan untuk memasang:
pip install pytesseract pip install pillow
Antaranya, pytesseract ialah perpustakaan Python berdasarkan enjin Tesseract-OCR, digunakan untuk mengenal pasti teks dalam imej Bantal adalah perpustakaan pemprosesan imej yang biasa digunakan dalam Python, digunakan untuk memproses imej.
Pertama, baca imej dan lakukan pemprosesan skala kelabu:
from PIL import Image image = Image.open('image.jpg') gray_image = image.convert('L')
Tukar imej kepada skala kelabu kerana dalam imej skala kelabu, kontras antara teks dan latar belakang lebih jelas, yang membantu meningkatkan ketepatan pengecaman.
Kemudian, kita boleh binarize imej, iaitu memproses teks dalam imej menjadi hitam dan latar belakang menjadi putih.
threshold = 150 binary_image = gray_image.point(lambda p: p > threshold and 255)
Ambang di sini ialah ambang, yang dilaraskan mengikut kecerahan gambar.
Seterusnya, kita boleh melakukan beberapa pemprosesan pengurangan hingar pada imej untuk mengeluarkan bunyi yang mengganggu.
from PIL import ImageFilter denoised_image = binary_image.filter(ImageFilter.MinFilter)
MinFilter adalah penapis nilai minima yang boleh melicinkan bunyi dalam gambar.
Akhir sekali, kami boleh menyimpan imej yang telah diproses dan memaparkannya:
denoised_image.save('processed_image.jpg') denoised_image.show()
Di atas adalah langkah-langkah prapemprosesan imej Kami boleh menghantar imej yang telah diproses ke enjin pengecaman fon untuk pengekstrakan teks.
Pengecaman Fon
Pengecaman fon sangat mudah menggunakan perpustakaan pytesseract. Kami hanya perlu menggunakan imej yang diproses sebagai input dan memanggil fungsi yang sepadan.
import pytesseract text = pytesseract.image_to_string(denoised_image, lang='eng') print(text)
Antaranya, denoised_image ialah imej yang diproses dalam langkah sebelumnya, dan parameter lang mewakili bahasa teks yang diiktiraf, yang lalai kepada bahasa Inggeris.
Contoh kod penuh
Berikut ialah contoh kod Python lengkap untuk pengecaman fon pada gambar:
from PIL import Image, ImageFilter import pytesseract # 图片预处理 image = Image.open('image.jpg') gray_image = image.convert('L') threshold = 150 binary_image = gray_image.point(lambda p: p > threshold and 255) denoised_image = binary_image.filter(ImageFilter.MinFilter) denoised_image.save('processed_image.jpg') denoised_image.show() # 字体识别 text = pytesseract.image_to_string(denoised_image, lang='eng') print(text)
Ringkasan
Artikel ini memperkenalkan cara menggunakan Python untuk pengecaman fon pada gambar dan menyediakan contoh kod yang sepadan. Dengan prapemprosesan dan memanggil perpustakaan pytesseract, kami boleh mengekstrak teks dengan mudah dan cepat daripada imej dan melaksanakan pemprosesan teks seterusnya. Pengecaman fon mempunyai prospek aplikasi yang luas dalam aplikasi praktikal Saya harap pengenalan dalam artikel ini akan membantu pembaca.
Atas ialah kandungan terperinci Cara menggunakan Python untuk mengenal pasti fon dalam gambar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!