Pamlevels User Manual(0) Pamlevels User Manual(0)

pamlevels - اعمال تبدیل سطوح (levels) بر تصویر

pamlevels -from1 from1 -to1 to1 -from2 from2 -to2 to2 [-from3 from3 -to3 to3] [-linear] [-fitbrightness] [pamfile]

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

دستور pamlevels یک تصویر Netpbm را از pamfile یا ورودی استاندارد می‌خواند، یک تبدیل «سطوح» (levels) اعمال می‌کند و نتیجه را به خروجی استاندارد می‌فرستد. این برنامه تبدیلی یکتا پیدا می‌کند که رنگ from1 را به to1، رنگ from2 را به to2، و در صورت مشخص شدن -from3 و -to3، رنگ from3 را به to3 نگاشت می‌کند. تبدیل‌های مبتنی بر دو نگاشت بر حسب شدت نور خطی هستند و تبدیل‌های مبتنی بر سه نگاشت درجه‌دوم (quadratic) می‌باشند. گزینه‌های نگاشت رنگ را می‌توان به‌صورت کوتاه شدهٔ -f1...-f3 و -t1...-t3 نیز به کار برد.

مقادیر رنگ قالب زیر را دارند: color[:scale]، که در آن color یک مشخصهٔ رنگ Netpbm و scale ضریبی اختیاری است که بر شدت (یعنی نه تصحیح‌شده با گاما) هر یک از مؤلفه‌های RGB رنگ اعمال می‌شود.

هنگامی که تبدیل خطی است (یعنی از دو نگاشت استفاده می‌کند) و صفر را حفظ می‌کند (یعنی سیاه را به سیاه نگاشت می‌کند)، معادل ضرب شدت نور در یک مقدار ثابت است و color integrity(1) (یکپارچگی رنگ) را حفظ می‌کند.

در مثال‌های زیر، \ نشان‌دهندهٔ ادامهٔ خط است:

برای روشن‌تر کردن تصویر با تنظیم یک نقطهٔ سفید تیره‌تر:

pamlevels -f1 black -t1 black \
  -f2 white:0.9 -t2 white in.ppm > out.ppm

برای تنظیم نقطهٔ سفید:

pamlevels -f1 black -t1 black \
  -f2 rgbi:0.9/0.83/0.80 -t2 white in.ppm > out.ppm

برای تنظیم یک نقطهٔ سیاه روشن‌تر:

pamlevels -f1 white:0.06 -t1 black \
  -f2 white -t2 white in.ppm > out.ppm

برای افزایش روشنایی از طریق فشرده‌سازی:

pamlevels \
  -f1 black -t1 black -f2 white -t2 white \
  -f3 white:0.5 -t3 white:0.6 in.ppm > out.ppm
تبدیل اخیر مشابه با تصحیح گاما (gamma-correction) است.

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

این گزینه‌ها نگاشت‌های رنگ‌های ورودی به رنگ‌های خروجی را که پایه و اساس تابع تبدیل هستند تعریف می‌کنند. به بخش توضیحات (DESCRIPTION) مراجعه کنید.

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

این گزینه به pamlevels می‌گوید با نسخهٔ با شدتِ خطی در PPM کار کند که در آن نمونه‌ها برخلاف PPM واقعی که بر اساس روشنایی (تصحیح‌شده با گاما) هستند، متناسب با شدت نور می‌باشند. ورودی باید به این شکل باشد و pamlevels خروجی را نیز با همین قالب تولید می‌کند.

توجه داشته باشید که اعداد در مشخصهٔ رنگی مانند rgbi:0.9/0.83/0.80 بدون در نظر گرفتن قالب ورودی و خروجی، همواره سطوح روشنایی (تصحیح‌شده با گاما) هستند.

نمی‌توان از این گزینه همراه با -fitbrightness استفاده کرد، زیرا این قابلیت پیاده‌سازی نشده است.

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

توجه داشته باشید که بسیاری از ابزارهای غیر از Netpbm تبدیل را به همین شیوه انجام می‌دهند. یکی از کاربردهای این گزینه صرفاً نمایش نتیجهٔ ضعیف این روش است.

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

نمی‌توان از این گزینه همراه با -linear استفاده کرد، زیرا این قابلیت پیاده‌سازی نشده است.

pnmnorm(1), pamrecolor(1), pnmgamma(1), pnm(1)

این برنامه ابتدا توسط Anton Shepelev (anton.txt@gmail.com) ارائه شد.

دستور pamlevels در Netpbm نسخهٔ 10.83 (ژوئن ۲۰۱۸) معرفی شد.

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

http://netpbm.sourceforge.net/doc/pamlevels.html
13 June 2018 netpbm documentation