Pamgauss User Manual(0) Pamgauss User Manual(0)

pamgauss - تولید ماتریس تصویر دوبعدی توزیع گاوسی در قالب Netpbm

pamgauss width height -sigma=number [-maxval=number] [-tupletype=string] [-maximize] [-oversample=number]

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

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

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

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

می‌توانید از این تصویر به عنوان هسته کانولوشن (convolution kernel) همراه با pnmconvol برای محو کردن یک تصویر استفاده کنید (این روش به عنوان مات‌سازی گاوسی یا Gaussian blurring شناخته می‌شود).

شناسه‌های width و height ابعاد تصویری هستند که pamgauss تولید می‌کند. از نظر ریاضی، این‌ها دامنه تابع گاوسی دوبعدی هستند. اگر می‌خواهید مطمئن شوید که یک تابع گاوسی کامل را دریافت می‌کنید، انحراف معیار و ابعاد تصویر را طوری انتخاب کنید که اگر تصویر بزرگ‌تر می‌شد، مقادیر نمونه‌ها در لبه‌ها صفر می‌بودند.

تصویر خروجی در قالب PAM است. برای قابل استفاده کردن آن با pnmconvol، گزینه -tupletype=GRAYSCALE را تعیین کنید تا pnmconvol بتواند همانند یک تصویر PGM با آن رفتار کند. همچنین باید از گزینه -nooffset در pnmconvol استفاده کنید زیرا در تصویر PAM تولیدشده توسط pamgauss، صفر به معنای صفر واقعی است.

بدون گزینه -maximize، مجموع تمام نمونه‌ها برابر با مقدار بیشینه (maxval) تصویر خواهد بود (با در نظر گرفتن خطای گرد کردن). این امر حتی اگر با کوچک انتخاب کردن ابعاد تصویر تابع گاوسی را برش دهید نیز برقرار است. این همان رفتاری است که معمولاً برای هسته کانولوشن مورد نیاز است.

دستور pamgauss برای نمایش تابع گاوسی پیوسته در قالب نمونه‌های گسسته در خروجی PAM، از تکنیک بیش‌نمونه‌برداری (oversampling) و میانگین‌گیری استفاده می‌کند. تصویری با عرض ۱۱ نمونه و ضریب بیش‌نمونه‌برداری ۱۰ را در نظر بگیرید. نمونه‌ها را می‌توان به صورت مربع‌های پیوسته به عرض یک واحد فرض کرد. بنابراین مرکز تصویر، همان مرکز نمونه ششم از سمت چپ خواهد بود. نمونه سوم از چپ بازه‌ای از فواصل بین ۳ تا ۴ واحد از مرکز تصویر را پوشش می‌دهد. از آنجا که ضریب بیش‌نمونه‌برداری ۱۰ است، pamgauss مقدار تابع گاوسی را در ۱۰ نقطه با فواصل مساوی بین ۳ و ۴ واحد از مرکز تصویر محاسبه کرده و میانگین آن ۱۰ مقدار را به نمونه سوم از چپ اختصاص می‌دهد.

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

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

مقدار number بر حسب واحد نمونه‌ها است.

این گزینه اجباری است و مقدار پیش‌فرضی ندارد.

باعث می‌شود pamgauss با انتخاب دامنه‌ای برای تابع گاوسی که در آن بیشترین مقدار تصویر برابر با maxval تصویر شود، از کل دامنه پویای موجود در تصویر PAM خروجی استفاده کند.

اگر این گزینه را انتخاب کنید، احتمالاً تمایل خواهید داشت پیش از استفاده، خروجی را نرمال‌سازی کنید (مقیاس نمونه‌ها را کاهش دهید تا حجم زیر سطح تابع گاوسی دوبعدی برابر با maxval شود)، برای مثال با استفاده از گزینه -normalize در دستور pnmconvol. دلیل تفاوت این کار با عدم استفاده از -maximize این است که این نرمال‌سازی بعدی می‌تواند با دقتی بسیار بیشتر از آنچه در تصویر PAM قابل ذخیره است انجام پذیرد.

بدون این گزینه، pamgauss از دامنه‌ای استفاده می‌کند که حجم زیر سطح تابع گاوسی دوبعدی را برابر با maxval تصویر قرار دهد. این بدان معناست که تمام نمونه‌های تصویر معمولاً بسیار کمتر از maxval خواهند بود.

این گزینه در Netpbm نسخه 10.79 (ژوئن 2017) معرفی شد.

این مقدار بیشینه (maxval) را برای تصویر خروجی مشخص می‌کند. مقدار ۶۵۵۳۵ تقریباً همیشه بهترین مقدار است. با این حال ممکن است برنامه‌هایی (خارج از مجموعه Netpbm) وجود داشته باشند که توانایی پردازش maxval بیشتر از ۲۵۵ را نداشته باشند.

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

این مقدار ویژگی "tuple_type" تصویر PAM تولیدشده است. می‌تواند هر رشته‌ای تا حداکثر ۲۵۵ کاراکتر باشد.

اگر این گزینه را مشخص نکنید، pamgauss یک تصویر PAM با نوع تاپل نامشخص تولید می‌کند.

این گزینه ضریب بیش‌نمونه‌برداری (oversampling factor) را تنظیم می‌کند. pamgauss تابع گاوسی را هم به صورت افقی و هم عمودی به همین تعداد دفعات نمونه‌برداری می‌کند تا مقدار هر نمونه در خروجی به دست آید.

ضریب بیش‌نمونه‌برداری ۱ به معنی عدم بیش‌نمونه‌برداری است، به این معنی که مقدار هر نمونه تنها بر اساس مقدار تابع گاوسی در مرکز آن نمونه محاسبه می‌شود.

مقدار پیش‌فرض برابر با ۵ تقسیم بر انحراف معیار است که به سمت نزدیک‌ترین عدد صحیح بزرگ‌تر گرد می‌شود.

این گزینه در Netpbm نسخه 10.79 (ژوئن 2017) اضافه شد. پیش از آن، مقدار عملاً ۱ بود و هیچ بیش‌نمونه‌برداری انجام نمی‌شد.

pnmconvol(1), pamtopnm(1), pgmkernel(1), pamseq(1), pam(1)

دستور pamgauss در Netpbm نسخه 10.23 (ژوئیه 2004) اضافه شد.

این صفحه راهنما از منبع HTML توسط ابزار 'makeman' نت‌پم تولید شده است. مستندات مرجع در

http://netpbm.sourceforge.net/doc/pamgauss.html

قرار دارد.

18 May 2017 netpbm documentation