Python yordamida rasmdan matnni ajratib olish

Saqlab olindi !

Python yordamida rasmdan matnni ajratib olish

Ushbu qo'llanmada biz Python yordamida rasmdan matnni qanday chiqarishni o'rganamiz.


Kirish

Tasvirlardan matnni chiqarish katta kichik biznes (hisob-faktura va kvitansiyalardan ma'lumot olish) va boshqa sohalarda juda keng tarqalgan muaommalardan hisoblanadi.


OCR (Optik belgilarni aniqlash) bu matnlik tasvirlar ichidan matnni ajratib olish usuli hisoblanadi. Bunda dastur tasvirdagi matnlik bloklarni aniqlaydi va ularni huddi kompyuterda terilgan holatda oddiy matn ko'rinishiga keltiradi, keyinchalik uni istalgan maqsad uchun ishlatsangiz bo'ladi.

Ushbu qo'llanmani davom ettirish uchun bizga kerak bo'ladi:


Tesserakt

Ikki Python kutubxonasi:

pytesseract

pillow


Tesseract ochiq manbali OCR (optik belgilarni aniqlash) mexanizmi bo'lib, u tasvirlardan matn ajratib olish imkonini beradi.


Uni Python-da ishlatish uchun bizga Tesseract uchun mo'ljallangan pytesseract kutubxonasi ham kerak bo'ladi.


Tasvirlar bilan ishlayotganimiz uchun bizga Python-ga tasvirni qayta ishlash imkoniyatlarini qo'shadigan pillow kutubxonasi kompyuterimizda o'rnatilgan bo'lishi shart.


Tesseract installer ni o'rnatib oling. Windows uchun Tesseract o'rnatuvchisining so'nggi versiyasini githubda Tesseract ning rasmiy sahifasida topishingiz mumkin. Shunchaki .exe faylini yuklab oling va kompyuteringizga o'rnating.


Agar sizda Python 3 va undan yuqori versiyalari o'rnatilgan bo'lsa u holda PIP paketlar menejeri mavjud bo'ladi va siz ushbu

buyruqlarni Windows CMD ("buyruqlar qatori") da ishga tushirib bu ikkalasini o'rnatib olishingiz mumkin.


pip install pytesseract

pip install pillow

Linux yoki MacOS foydalanuvchilari esa :


pip3 install pytesseract

pip3 install pillow

Namuna rasmlar



Muammo yechimida davom etish uchun biz ba'zi namuna rasmlarni beramiz.


Ushbu qo'llanmada biz qo'shimcha tasvirni qayta ishlashni talab qilmaydigan gorizontal tekislangan matnli oddiy bir xil fonlik rasmlardan foydalanamiz:


Python yordamida bitta rasmdan matn chiqarishdan boshlaylik.


Ushbu misol uchun biz oldingi bo'limda keltirilgan birinchi rasm bilan ishlaymiz: sampletext1-ocr.png

Mening VS Code da fayllarimning tuzilishi quyidagicha ko'rinadi:

Barcha tasvirlar 'images' papkasida joylashgan va kod main.py da yoziladi.


Bizga kerak bo'lgan rasmga yo'l: images/sampletext1-ocr.png


Bizga kerak bo'lgan yana bir fayl yo'li - o'rnatishdan keyin yaratilgan tessaract.exe yo'lidir. Windowsda u quyidagi manzilda bo'lishi kerak: C:\Program Files\Tesseract-OCR\tesseract.exe


Endi bizda hamma narsa bor va Python yordamida tasvirdan matnni osongina ajratib olishimiz mumkin.

Va natija quyidagidek bo'lishi kerak:


Sample Text 1


Python yordamida bir nechta rasmlardan matnni ajratib oling

Ushbu bo'limda biz Python yordamida bir nechta rasmlardan matnni qanday chiqarishni o'rganamiz.


Biz bilamiz, barcha tasvirlar images papkasida joylashgan va kod main.py da joylashgan


Har bir rasmdan matnni chiqarishning bir usuli har bir rasmning fayl nomlaridan foydalanish va ushbu rasmlardan matnni birma-bir ajratib olishdir.


Ammo papkada 100 ta rasm bo'lsa nima bo'ladi? OS kutubxonasidan foydalanib, biz berilgan katalogdagi barcha fayl nomlariga kirishimiz mumkin.


Rasmlar jildidagi barcha fayl nomlariga kirish huquqiga ega bo'lganimizdan so'ng, biz ularni for tsikli orqali takrorlanishga olamiz va Python yordamida har bir rasmdan matnni chiqaramiz:


Xulosa

Ushbu maqolada biz Python va Tesseract yordamida bitta rasm va bir nechta rasmdan matnni qanday chiqarishni o'rganib chiqdik.


Agar sizda biron bir savol bo'lsa yoki o'zgartirishlar bo'yicha takliflaringiz bo'lsa, pastda fikrlaringizni qoldiring va Python dasturlash bo'yicha ko'proq amaliyot qiling.


+22

๐Ÿ‘

+22

โค

+15

๐Ÿ˜Ž

+34

๐Ÿ’ฅ

+7

๐Ÿ‘ฝ

+10

๐Ÿ˜

+5

๐Ÿ‘Ž

Maqola teglari

Python Dasturlash Back-End Foydali Dasturlash tili
Abdurahmon Rashidov Python 1028
Facebook Telegram

Bu haftada ko'p o'qildi

Kompyuter tarmoqlarining asosiy turlari

Kompyuter tarmoqlarining asosiy turlari

54192 1329
Kesh xotira nima va uning vazifalari

Kesh xotira nima va uning vazifalari

7119 525
Umumiy tezkor tugmalar : shortcuts

Umumiy tezkor tugmalar : shortcuts

6637 165

Mavzuga oid

Python Backend dasturlash uchun yo'l xaritasi - 2024

Python Backend dasturlash uchun yo'l xaritasi - 2024

144 12
Pythonni o'rganish uchun 2024-yilda nima qilishim kerak ?

Pythonni o'rganish uchun 2024-yilda nima qilishim kerak ?

253 33
PEP 8 nima va Python kodlash uslubiga qanday amal qilish kerak ?

PEP 8 nima va Python kodlash uslubiga qanday amal qilish kerak ?

324 10