معرفی 3 ماژول پایتون برای پردازش تصاویر – قسمت یازدهم 

موسسه پایا پروژه به عنوان متصدی انجام پروژه های پردازش تصویر با پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.

در این مقاله به استخراج متن از تصاویر می پردازیم. شما با استفاده از پردازش تصاویر در پایتون می توانید متونی که در هر عکس به کار رفته رو، پردازش و دریافت کنید. در این قسمت، به معرفی ماژول و متدهایی می پردازیم که با استفاده از آنها می توانید پردازش های مختلفی رو در تصاویر انجام بدید.

۱ـ اعمال ماسک به تصویر رنگی

ماسک گذاری تصویر در پردازش تصویر به معنای اعمال و استفاده از تصویری دیگر بر روی تصویر اصلی به‌منظور تغییر مقادیر پیکسل تصویر است.

برای اعمال ماسک به تصویر ما از متد () HoughCircles از ماژول OpenCV استفاده می‌کنیم. متد () HoughCircles دایره‌های درون تصویر را تشخیص می‌دهد. پس از تشخیص دایره‌ها، ما می‌توانیم ماسک را بر روی این دایره‌ها اعمال کنیم.

متد () HoughCircles تصویر اصلی، گرادیان هاف (که مشخص‌کننده داده‌های گرادیان لبه‌های دایره است) و اطلاعات معادله دایره را دریافت می‌کند.

در این معادله (xcenter , ycenter) مرکز دایره و r شعاع دایره هستند.

تصویر اصل ما به‌صورت زیر است:

 

خب، حالا ما دایره‌ها را درون تصویر داریم و می‌توانیم ماسک را اعمال کنیم. کد زیر را در نظر بگیرید:

import cv2

import numpy as np

from matplotlib import pyplot as plt

%matplotlib inline

=img 

cv2.imread(“ImageProcessingSample.jpg”)

img1 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

 

 

تشخیص دایره‌های تصویر توسط تابع () HoughCircles

,gray_img = cv2.medianBlur(cv2.cvtColor(img

(3   ,(cv2.COLOR_RGB2GRAY

,circles = cv2.HoughCircles(gray_img,

,cv2.HOUGH_GRADIENT, 1, 20, param1=50,

(param2=50, minRadius=0, maxRadius=0

circles = np.uint16(np.around(circles))

 

 

به‌منظور ایجاد ماسک از np.full استفاده می‌کنیم که آرایه NumPy با شکل داده‌شده را ایجاد می‌کند:

 

 

 

 

 

 

گام بعدی ترکیب تصویر و آرایه ماسکی است که ما توسط عملگر bitwise_or به‌صورت زیر درست کردیم:

 

,final_img = cv2.bitwise_or(img, img1

(masking=masking

 

نمایش تصویر نتیجه:

۲ـ استخراج متن از تصویر (OCR)

به‌منظور استخراج متن انگلیسی از تصویر، شما می‌توانید از Google Tesseract-       OCR  استفاده کنید. شما می‌توانید این افزونه را برای پردازش تصویر با پایتون توسط OpenCV  از لینک زیر دانلود کنید.

https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.02-20180621.exe

 

پس‌ ازآن شما باید ماژول pytesseract که wrapper پایتون است را برای Tesseract-OCR  نصب و استفاده کنید:

pip install pytesseract

تصویری که ما متن را از آن استخراج خواهیم کرد به‌صورت زیر خواهد بود:

حالا بیایید تا متن درون تصویر را به رشته کاراکترها تبدیل کنیم و متن را به‌عنوان رشته در خروجی نمایش بدهیم.

 

۲ـ ۱ استفاده از متد pytesseract

ماژول pytesseract را در پایتون وارد می‌کنیم:

import pytesseract

مسیر فایل اجرایی Tesseract-OCR را مشخص می‌کنیم:

=pytesseract.pytesseract.tesseract_cmd

-r’C:\Program Files (x86)\Tesseract

‘OCR\tesseract

حال از متد image_to_string به‌منظور تبدیل عکس به رشته استفاده می‌کنیم:

print(pytesseract.image_to_string(‘BarmanOC

((‘R.jpg

خروجی مانند زیر خواهد بود:

۳ـ نتیجه گیری

در این آموزش به مباحث ماسک کردن تصاویر و استخراج متن با استفاده از پردازش تصاویر اشاره کردیم و همچنین ماژول های مختلفی رو برای انجام این کار معرفی کردیم. در قسمت بعدی قصد داریم تا  مبحث پردازش رشته ها را بیشتر باز کنیم و درباره پردازش رشته ها با استفاده از پردازش تصاویر بیشتر صحبت کنیم. همچنین به معرفی روش هایی می پردازیم که شما می تونید با کتابخونه های داخلی پایتون، این عملیات هارو به راحتی انجام بدید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این زمینه را پر کنید
این زمینه را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

نوزده + 11 =

سفارش پروژه