Pammasksharpen User Manual(0) Pammasksharpen User Manual(0)

pammasksharpen - واضح‌سازی تصویر با استفاده از یک ماسک ناواضح (unsharp mask)

pammasksharpen [-sharpness=realnum] [-threshold=realnum] maskfile [inputfile]

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

pamgauss 5 5 -sigma=.7 -tupletype=GRAYSCALE | pamtopnm > gauss.pgm
pnmconvol -nooffset gauss.pgm myimage.ppm > blurred.ppm
pammasksharpen blurred.ppm myimage.ppm > sharpened.ppm

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

دستور pammasksharpen یک تصویر Netpbm را به عنوان ورودی خوانده و نسخه واضح‌شده (sharpened) آن را در همان قالب به عنوان خروجی تولید می‌کند. این کار از طریق یک ماسک ناواضح (unsharp mask) انجام می‌شود که آن را به عنوان یک تصویر Netpbm دیگر ارائه می‌دهید.

یک ماسک ناواضح معمولاً نسخه‌ای محو و تارشده از تصویر اصلی است. محاسبه واضح‌سازی به این شکل است: میزان «لبه‌بودن» (edgeness) یک نمونه در تصویر ورودی به عنوان تفاضل علامت‌دار بین مقدار نمونه و نمونه متناظر در ماسک ناواضح محاسبه می‌شود. این مقدار نشان می‌دهد که پیکسل چقدر با همسایگان خود تفاوت دارد. سپس ضریبی از این لبه‌بودن به نمونه اصلی اضافه می‌شود تا نمونه خروجی متناظر به دست آید. در صورت لزوم مقادیر بریده (clip) می‌شوند. این امر باعث می‌شود پیکسل‌هایی که روشن‌تر از همسایگانشان هستند روشن‌تر شوند، در حالی که پیکسل‌های تاریک‌تر از همسایگانشان حتی تاریک‌تر گردند. این سازوکار سبب می‌شود لبه‌ها ــ جاهایی که مقادیر پیکسل‌ها در فضا به‌سرعت تغییر می‌کنند ــ بیشتر نمایان و برجسته شوند.

ماسک ناواضح باید ابعاد یکسان و مقدار maxval برابری با تصویر ورودی داشته باشد.

شما معمولاً ماسک ناواضح را به صورت یک تاری گاوسی (Gaussian blur) از تصویر اصلی ایجاد می‌کنید، که می‌توانید با استفاده از pamgauss و pnmconvol مطابق با مثال بالا آن را انجام دهید. هسته کانولوشنی (convolution kernel) که با pnmconvol به کار می‌برید معمولاً یک مربع با طول ضلعی از تعداد فرد پیکسل است.

هنگامی که یک ماسک ناواضح را به این روش می‌سازید، باید طول ضلع هسته کانولوشن را انتخاب کنید. این طول، پارامتری از واضح‌سازی با ماسک ناواضح را پیاده‌سازی می‌کند که معمولاً با نام «شعاع» (radius) شناخته می‌شود. به‌ویژه، شعاعی به اندازه R پیکسل متناظر با یک هسته کانولوشن با طول ضلع 2R+1 پیکسل است.

شعاع پارامتری بسیار حیاتی است؛ یک شعاع بیش از حد بزرگ می‌تواند تصویر را خراب کند. شما می‌توانید با اطمینان بیشترین شعاع را برای اشیاء بی‌جان به کار ببرید، در حالی که چهره انسان کمترین مقدار را می‌طلبد. مناظر طبیعی بین این دو قرار می‌گیرند. اما در نهایت این موضوع بستگی به اندازه جزئیات دارد. جزئیات ظریف به شعاع کوچک‌تری نیاز دارند، در غیر این صورت ممکن است جزئیات ریزی که هم‌اندازه با عرض شعاع هستند محو و نابود شوند. یک تصویر بزرگ اغلب جزئیات بزرگ‌تری دارد (پیکسل‌های بیشتری درگیر هستند)، بنابراین می‌تواند از شعاع بزرگ‌تری استفاده کند. شعاع و وضوح (گزینه -sharpness را ببینید) اثر متقابل بر یکدیگر دارند: کاهش یکی به شما امکان می‌دهد دیگری را افزایش دهید.

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

بزرگی و شدت واضح‌سازی را مشخص می‌کند. این مقداری مضرب از لبه‌بودن است که همان‌طور که در بالا توضیح داده شد به هر نمونه اضافه می‌شود.

مقدار realnum یک عدد اعشاری حقیقی غیرمنفی است. مقدار صفر به معنی عدم انجام هیچ‌گونه واضح‌سازی است.

این پارامتر در ImageMagick با نام "amount" شناخته می‌شود.

مقدار پیش‌فرض 1.0 است.

این گزینه در Netpbm 10.30 (اکتبر ۲۰۰۵) جدید بود. پیش از آن، مقدار sharpness همواره 1.0 در نظر گرفته می‌شد.

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

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

این مقدار کسری از maxval است (بنابراین در بازه [0, 1.0] قرار دارد).

مقدار پیش‌فرض 0 است.

این گزینه در Netpbm 10.34 (ژوئن ۲۰۰۶) اضافه شد.

pnmconvol(1), pamedge(1), pamsharpness(1), pamsharpmap(1), pamarith(1), pnm(1), pam(1)

دستور pammasksharpen در Netpbm 10.23 (ژوئیه ۲۰۰۴) معرفی شد.

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

http://netpbm.sourceforge.net/doc/pammasksharpen.html
14 June 2006 netpbm documentation