Pamthreshold User Manual(0) Pamthreshold User Manual(0)

pamthreshold - آستانه‌گذاری تصویر در مقیاس خاکستری و تبدیل آن به سیاه و سفید

pamthreshold [-simple] [-local=widthxheight] [-dual=widthxheight] [-threshold=threshold] [-contrast=threshold] [inputpamfile]

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

این برنامه بخشی از Netpbm(1) است.

دستور pamthreshold یک تصویر در مقیاس خاکستری (grayscale) را آستانه‌گذاری می‌کند. آستانه‌گذاری به معنای تقسیم تصویر به پس‌زمینه و پیش‌زمینه از طریق مقایسه هر پیکسل با یک مقدار آستانه است.

ورودی باید یک تصویر PGM یا یک تصویر PAM با نوع چندتایی (tuple type) GRAYSCALE یا GRAYSCALE_ALPHA باشد. با این حال، pamthreshold این موضوع را بررسی نمی‌کند؛ بلکه صرفاً کانال نخست را مانند نمونه‌های مقیاس خاکستری آستانه‌گذاری می‌کند و اگر کانال دومی وجود داشته باشد، آن را مانند یک کانال شفافیت (آلفا) پردازش می‌نماید. بنابراین اگر به عنوان مثال یک تصویر PPM به آن بدهید، کار خواهد کرد اما احتمالاً نتایج بی‌استفاده‌ای تولید می‌کند.

خروجی یک تصویر PAM با نوع چندتایی BLACKANDWHITE یا BLACKANDWHITE_ALPHA خواهد بود، بسته به اینکه آیا ورودی دارای کانال شفافیت بوده است یا خیر. می‌توانید با دستور pamtopnm این خروجی را به PBM تبدیل کنید (اگر نیاز دارید از آن در برنامه‌های قدیمی‌تری استفاده کنید که PAM را پشتیبانی نمی‌کنند، یا نمی‌توانید فضای ۸ برابری تصویر در فرمت PAM را تأمین کنید).

خروجی به خروجی استاندارد (Standard Output) ارسال می‌شود.

هنگامی که ورودی دارای کانال شفافیت باشد، pamthreshold یک کانال شفافیت در خروجی نیز لحاظ می‌کند. از آنجا که خروجی دارای maxval برابر با ۱ است، کانال شفافیت تنها می‌تواند نشان‌دهنده کاملاً شفاف یا کاملاً کدر باشد. دستور pamthreshold نقاطی از تصویر را که ورودی در آن‌ها بیش از نیمه‌شفاف است کاملاً شفاف، و نقاط دیگر را کاملاً کدر می‌سازد.

قابلیت شفافیت در Netpbm 10.43 (ژوئن ۲۰۰۸) اضافه شد. پیش از آن، pamthreshold هرگونه کانال شفافیت موجود در ورودی را نادیده می‌گرفت.

روش دیگر برای تبدیل یک تصویر در مقیاس خاکستری به سیاه و سفید، استفاده از ترام‌ریزی (dither) است. ترام‌ریزی استفاده از خوشه‌هایی از پیکسل‌های سیاه و سفید است، به‌گونه‌ای که اگر کمی عقب‌تر بایستید و به تصویر بنگرید، سطوح مختلفی از خاکستری را مشاهده می‌کنید. دستور pamditherbw عمل ترام‌ریزی را انجام می‌دهد.

علاوه بر گزینه‌های مشترک میان تمام برنامه‌های مبتنی بر libnetpbm (به‌ویژه -quiet، به
گزینه‌های مشترک
مراجعه کنید)، pamthreshold گزینه‌های خط فرمان زیر را می‌شناسد:

بدون تعیین هیچ گزینه‌ای، pamthreshold از روشی مبتنی بر الگوریتم تکرارشونده‌ای استفاده می‌کند که در مقاله ویکی‌پدیا با عنوان
Thresholding (image processing)
برای محاسبه مقدار آستانه‌گذاری آمده است. ( این نگارش از مقاله ویکی‌پدیا در زمان نگارش این متن جاری بود). این برنامه از این آستانه برای آستانه‌گذاری سراسری تصویر استفاده می‌کند. این روش برای بیشتر تصاویر باید به‌خوبی کار کند. برنامه پیامی صادر می‌کند که نشان می‌دهد از چه آستانه‌ای استفاده کرده است. (پیام‌های Netpbm به خروجی خطای استاندارد ارسال می‌شوند و می‌توانید با گزینه عمومی -quiet در Netpbm آن‌ها را خاموش کنید).

گزینه‌های -simple، -local و -dual روش‌های دیگر را انتخاب می‌کنند.

این گزینه آستانه‌گذاری ساده یا سراسری (global) را انتخاب می‌کند، یعنی pamthreshold هر پیکسل را با آستانه‌ای که با -threshold مشخص کرده‌اید مقایسه می‌کند. پیکسل‌هایی با روشنایی بزرگ‌تر یا مساوی آستانه سفید می‌شوند و سایر پیکسل‌ها سیاه می‌گردند. این روش برای صفحات متنی سیاه و سفید اسکن‌شده با اسکنر مسطح به‌خوبی عمل می‌کند و سریع‌تر از روش پیش‌فرض است که ابتدا مقدار آستانه‌گذاری را به صورت تکرارشونده محاسبه می‌کند.
این گزینه آستانه‌گذاری تطبیقی محلی (که با نام آستانه‌گذاری پویا نیز شناخته می‌شود) را با استفاده از همسایگی به صورت مربعی با عرض width پیکسل و ارتفاع height پیکسل به مرکزیت پیکسل مورد نظر انتخاب می‌کند. دستور pamthreshold مقدار آستانه را به‌طور مجزا برای هر پیکسل از تصویر محاسبه می‌نماید. این کار می‌تواند شرایط نوری متغیر در تصویر را مدیریت کند. بسته به اندازه همسایگی، این عملیات می‌تواند بسیار کند باشد.
این گزینه یک الگوریتم آستانه‌گذاری دوگانه را انتخاب می‌کند که از یک آستانه سراسری برای همسایگی‌های با کنتراست پایین و از آستانه‌گذاری محلی برای سایر همسایگی‌ها استفاده می‌نماید. این روش می‌تواند نواحی پس‌زمینه و پیش‌زمینه بزرگ‌تری را نسبت به آستانه‌گذاری تطبیقی محلی حفظ کند. این الگوریتم در مقاله‌ای با عنوان "An Approach To Licence Plate Recognition" توسط J.R. Parker و Pavol Federl ارائه شد.
مقدار آستانه‌گذاری را برای آستانه‌گذاری ساده یا محلی تعیین می‌کند. این مقدار یک عدد ممیز شناور در بازه [0, 1] است که مستقیماً متناسب با مقادیر نمونه Netpbm می‌باشد، به‌گونه‌ای که 0 متناظر با سیاه و 1 متناظر با maxval تصویر است.

اگر این گزینه را تعیین نکنید، pamthreshold از آستانه 0.5 استفاده می‌کند.

بدون گزینه‌های -simple، -local یا -dual، این گزینه بی‌معنی است.

مفهوم آستانه به نوع آستانه‌گذاری شما (که توسط سایر گزینه‌ها تعیین می‌شود) بستگی دارد. به‌طور تقریبی، پیکسل‌هایی که روشنایی آن‌ها دست‌کم به اندازه آستانه باشد در خروجی سفید می‌شوند و سایر پیکسل‌ها سیاه می‌گردند.

این گزینه آستانه را برای تشخیص اینکه آیا یک همسایگی دارای کنتراست پایین است یا خیر، برای آستانه‌گذاری دوگانه تعیین می‌کند. مقدار یک عدد ممیز شناور در بازه [0, 1] است.

اگر این گزینه را تعیین نکنید، pamthreshold از آستانه کنتراست 0.05 استفاده می‌کند. بدون گزینه -dual این گزینه بی‌معنی است.

pamditherbw(1), ppmtopgm(1), pamtopnm(1), pam(1)

دستور pamthreshold در Netpbm 10.34 (ژوئن ۲۰۰۶) ارائه شد.

حق نشر pamthreshold متعلق به سال ۲۰۰۶ و Erik Auerswald است و تحت مجوز GPL(1) منتشر شده است.

این صفحه راهنما توسط ابزار Netpbm با نام 'makeman' از منبع HTML تولید شده است. مستندات اصلی در نشانی زیر قرار دارد:

http://netpbm.sourceforge.net/doc/pamthreshold.html
06 June 2007 netpbm documentation