تبدیل نوع تصویر به یکدیگر با استفاده از thresholding-بخش اول(جلسه۱۱)

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

روش thresholding و یا آستانه گذاری یکی از ابزارهای متلب برای تبدیل انواع تصاویر به یکدیگر است که در آن شدت رنگ تصویر و مقدار هر پیکسل با مقدار یک آستانه مقایسه می‌شود و در صورتی که از مقدار آستانه کمتر و یا بیشتر باشد با یک مقدار جدید جایگزین می‌شود. در ادامه تابع imbinarize و شیوه کار آن با مثال توضیح داده خواهد شد.

تبدیل نوع تصویر به یکدیگر با استفاده از thresholding (بخش اول)

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

روش کار شیوه thresholding اینگونه است که شدت رنگ تصویر و مقدار هر پیکسل با مقدار یک آستانه مقایسه می‌شود و در صورتی که از مقدار آستانه کمتر و یا بیشتر باشد با یک مقدار جدید جایگزین می‌شود.

تبدیل انواع تصاویر به یکدیگر با استفاده از imbinarize

کاری که تابع imbinarize انجام می‌دهد این است که با آستانه گذاری، تصویر grayscale را به یک تصویر باینری تبدیل می‌کند. چهار شیوه برای استفاده از آن وجود دارد که در زیر آمده اند.

  1. BW = imbinarize(I)
  2. BW = imbinarize(I,method)
  3. BW = imbinarize(I,T)
  4. BW = imbinarize(I,’adaptive’,Name,Value)

در شیوه  شماره یک، تابع تصویر I را می‌گیرد و تمام مقادیر بالای آستانه را به یک و مقادیر کمتر از آن را به صفر تبدیل می‌کند. در این روش برای محاسبه آستانه از روش Otsu استفاده می‌شود. در روش Otsu، مقدار آستانه به گونه ای انتخاب می‌شود که مقدار واریانس برای پیکسل های سیاه و سفید به حداقل برسد و به روش محاسبه خودکار آستانه نیز معروف است.

در شیوه کاربرد دوم، method، دو مقدار adaptive و global را می‌گیرد که مقدار global از روش Otsu برای محاسبه آستانه استفاده می‌کند.

در روش سوم، از مقدار آرایه T که مقادیر آن بین صفر و یک است به عنوان آستانه استفاده می‌کند. در ضمن T می‌تواند یک مقدار عددی بین صفر و یک نیز باشد.

در روش چهارم نیز می‌توان با تعیین مقادیر Name و Value، از آستانه پویا و یا Adaptive thresholding استفاده کرد. Value که استفاده از آن در تابع با ForegroundPolarity مشخص می‌شود، مقادیر bright و dark را می‌پذیرد که به روش تر و یا تاریک تر بودن background از foreground اشاره می‌کند.

دو مقدار Value و شیوه کار آنها

 

Name که برای Sensitivity factor و یا ضریب حساسیت مورد استفاده قرار می‌گیرد، با یک مقدار و نام، استفاده می‌شود و باعث می‌شود که پیکسل های بیشتری به عنوان مقدار آستانه تعریف شوند. شیوه استفاده از آن به شکل Name 1, Value 1… Name n, Value n است که نام داخل علامت ” آورده می‌شود.

شیوه استفاده از تابع imbinarize

  • مرحله اول: وارد کردن تصویر

I = imread(‘printedtext.png’);

figure

imshow(I)

title(‘Original Image’)

تصویر اولیه

 

  • مرحله دوم: استفاده از تابع:

BW = imbinarize(I,’adaptive’,’ForegroundPolarity’,’dark’,’Sensitivity’,0.4);

 

  • مرحله سوم: نمایش تصویر نهایی

figureimshow(BW)title(‘Binary Version of Image’)

تصویر نهایی و پس از استفاده از imbinarize

 برای دریافت آموزش متلب به صورت حرفه ای با ما همراه باشید

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

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

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

هفت + 5 =

فهرست
WeCreativez WhatsApp Support
ساعت کاری 8 صبح الی 21 شب می باشد و از طریق شماره 09108760286 می توانید با ما در ارتباط باشید.
👋 سلام، چطور میتونم به شما کمک کنم؟