\
.\" This man page was generated by the Netpbm tool 'makeman' from HTML source.
.\" Do not hand-hack it! If you have bug fixes or improvements, please find
.\" the corresponding HTML page on the Netpbm website, generate a patch
.\" against that, and send it to the Netpbm maintainer.
.TH "Pnmnorm User Manual" 0 "19 December 2014" "netpbm documentation"
.SH "نام (NAME)"
pnmnorm \- نرمالسازی کنتراست در یک تصویر Netpbm
.UN synopsis
.SH "خلاصه دستور (SYNOPSIS)"
\fBpnmnorm\fP
[\fB-bpercent=\fP\fIpercent\fP | \fB-bvalue=\fP\fIN\fP | \fB-bsingle\fP]
[\fB-wpercent=\fP\fIpercent\fP | \fB-wvalue=\fP\fIN\fP | \fB-wsingle\fP]
[\fB-midvalue=\fP\fIN\fP]
[\fB-middle=N\fP]
[\fB-maxexpand=\fP\fIpercent\fP]
[\fB-keephues\fP]
[\fB-luminosity\fP | \fB-colorvalue\fP | \fB-saturation\fP]
[\fIppmfile\fP]
.PP
تمام گزینهها را میتوان به کوتاهترین پیشوند یکتای آنها مخفف کرد.
میتوانید به جای یک خط تیره از دو خط تیره برای مشخص کردن یک گزینه استفاده کنید. همچنین میتوانید بین نام گزینه و مقدار آن از فاصله خالی یا علامت مساوی استفاده نمایید.
.UN description
.SH "توضیحات (DESCRIPTION)"
.PP
این برنامه بخشی از
.BR "Netpbm" (1)\c
\& است.
.PP
دستور
\fBpnmnorm\fP
یک تصویر PNM (شامل PBM، PGM یا PPM) را میخواند. این دستور با وادار کردن درخشانترین پیکسلها به رنگ سفید، تاریکترین پیکسلها به رنگ سیاه و گسترش دادن پیکسلهای مابین آنها، کنتراست را نرمالسازی میکند. خروجی این برنامه فایلی از همان نوع تصویر ورودی خواهد بود. این کار برای یک تصویر PBM عملاً کاربردی ندارد.
.PP
این برنامه دو روش را برای گسترش دادن پیکسلهای میان تاریکترین و درخشانترین سطوح ارائه میدهد: خطی (linear) و درجه دوم (quadratic). در حالت درجه دوم، شما یک روشنایی میانی و همچنین مقدار روشنایی مورد انتظار آن را در خروجی مشخص میکنید. با داشتن این سه قید: روشناییای که تبدیل به سیاه میشود، روشناییای که تبدیل به سفید میشود، و روشناییای که به مقدار میانی تبدیل میشود،
\fBpnmnorm\fP
یک معادله درجه دوم را محاسبه میکند که تمام مقادیر دیگر روشنایی را از مقادیر ورودی به مقادیر خروجی نگاشت میکند.
.PP
برنامه ابتدا نگاشت روشنایی قدیم به روشنایی جدید را تعیین میکند. برای هر روشنایی ممکن یک پیکسل، برنامه یک روشنایی متناظر را برای تصویر خروجی مشخص میسازد.
.PP
سپس برای هر پیکسل در تصویر، برنامه رنگی را محاسبه میکند که دارای روشنایی خروجی مورد نظر باشد و آن را در خروجی قرار میدهد. در یک تصویر رنگی، همواره امکان محاسبه چنین رنگی در حالی که شباهت به تهرنگ (hue) اصلی حفظ شود وجود ندارد؛ از این رو درخشانترین و تاریکترین پیکسلها ممکن است تنها تقریب مناسبی از روشنایی مورد نظر باشند.
.PP
برای یک تصویر PPM، شما حق انتخاب از بین سه روش برای تعریف روشنایی را دارید:
.IP \(bu
درخشندگی (luminosity)
.IP \(bu
ارزش رنگ (color value)
.IP \(bu
اشباع (saturation)
در حالت اشباع (saturation)، واژه «روشنایی» بیشتر یک نامگذاری نادقیق است، اما میتوانید از قیاس روشنایی برای درک عملکرد آن استفاده کنید. در این قیاس، روشن به معنای اشباعشده و تاریک به معنای غیراشباع است.
.PP
توجه داشته باشید که تمام این موارد با نرمالسازی جداگانه هر یک از مولفههای رنگی متفاوت هستند.
.PP
یک روش جایگزین برای گسترش دادن سطوح روشنایی در تصویر، دستور
\fBpnmhisteq\fP
است.
\fBpnmhisteq\fP
درخشانترین پیکسلها را تا حد سفید و تاریکترینها را تا حد سیاه گسترش میدهد، اما به جای تنظیم خطی مقادیر میانی، آنها را طوری تنظیم میکند که تعداد پیکسلهای برابری از هر مقدار روشنایی در سرتاسر محدوده وجود داشته باشد. این امر کنتراست بیشتری نسبت به
\fBpnmnorm\fP
ایجاد میکند، اما در عوض ممکن است تصویر را به طور چشمگیری دگرگون سازد.
.UN options
.SH "گزینهها (OPTIONS)"
.PP
علاوه بر گزینههای مشترک در تمام برنامههای مبتنی بر libnetpbm (به ویژه
\fB-quiet\fP،
به
.UR index.html#commonoptions
گزینههای مشترک (Common Options)
.UE
مراجعه کنید)،
\fBpnmnorm\fP
گزینههای خط فرمان زیر را به رسمیت میشناسد:
.PP
به طور پیشفرض، ۲ درصد از تاریکترین پیکسلها به رنگ سیاه و ۱ درصد از درخشانترین پیکسلها به رنگ سفید نگاشت میشوند. شما میتوانید این رفتار پیشفرض را لغو کرده و درصدی دیگر مشخص کنید، یا مقادیر مشخصی از روشنایی را برای نگاشت به سیاه و سفید تعیین نمایید، یا صرفاً کاری کنید که تنها بیشترین روشنایی منفرد به سفید و کمترین روشنایی منفرد به سیاه نگاشت شود.
.TP
\fB-bpercent\fP
.TP
\fB-wpercent\fP
.TP
\fB-bvalue\fP
.TP
\fB-wvalue\fP
.sp
برای تعیین درصد، از گزینههای
\fB-bpercent\fP
و
\fB-wpercent\fP
استفاده کنید، یا میتوانید با استفاده از گزینههای
\fB-bvalue\fP
و
\fB-wvalue\fP
مقادیر دقیق پیکسلها را برای نگاشت مشخص کنید.
شما میتوانید اعداد مناسب برای این گزینهها را از دستور
\fBppmhist\fP
به دست آورید. اگر فقط میخواهید کنتراست را تقویت کنید، مقادیری را در نقاط شکست (آرنجها) در هیستوگرام انتخاب کنید؛ مثلاً اگر مقدار ۲۹ نماینده ۳٪ از تصویر باشد اما مقدار ۳۰ نماینده ۲۰٪ باشد، مقدار ۳۰ را برای
\fIbvalue\fP
انتخاب کنید. اگر میخواهید تصویر را روشنتر کنید،
\fIbvalue\fP
را روی 0 قرار داده و تنها با
\fIwvalue\fP
تنظیمات را انجام دهید؛ به همین ترتیب، برای تاریکتر کردن تصویر،
\fIwvalue\fP
را روی maxval قرار داده و با
\fIbvalue\fP
کار کنید.
.sp
اگر هر دو گزینه
\fB-bvalue\fP
و
\fB-bpercent\fP
را مشخص کنید،
\fBpnmnorm\fP
از گزینهای استفاده میکند که کمترین تغییر را ایجاد کند. همین موضوع برای
\fB-wvalue\fP
و
\fB-wpercent\fP
نیز صادق است. (در Netpbm 10.26 (ژانویه ۲۰۰۵)،
\fB-bvalue\fP/\fB-wvalue\fP
اولویت دارند، و پیش از آن، تعیین همزمان هر دو یک خطای نحوی بود).
.sp
اگر میخواهید به جای حداقل کردن تغییرات، میزان تغییر را به حداکثر برسانید، کافی است دو بار متوالی
\fBpnmnorm\fP
را اجرا کنید؛ به این صورت که در اجرای اول مقادیر عددی و در اجرای دوم درصدها را مشخص نمایید.
.sp
مقادیر
\fB-bpercent\fP
و
\fB-wpercent\fP
به صورت اعداد اعشاری ممیز شناور هستند. مقدار صفر مجاز است و به ترتیب معادل با
\fB-bvalue=0\fP
یا
\fB-wvalue=\fP\fImaxval\fP
میباشد.
.sp
از آنجا که تعداد پیکسلها در هر سطح روشنایی عددی صحیح است، بدیهی است که
\fBpnmnorm\fP
نمیتواند درصد دقیق را تضمین کند؛ بنابراین ترتیبی میدهد که
\fIحداقل\fP
آن درصدی از پیکسلها که مشخص کردهاید طبق وعده بازنگاشت شوند.
.sp
این امکان وجود دارد که مقدار
\fB-bpercent\fP
یا
\fB-wpercent\fP
شما با مقدار
\fB-wvalue\fP
یا
\fB-bvalue\fP
تداخل پیدا کند. برای نمونه، شما برای تصویری که در آن تنها ۱۰ درصد از پیکسلها تاریکتر از ۱۰۰ هستند، مقدار
\fB-bpercent=20\fP
و
\fB-wvalue=100\fP
را تعیین کنید. در این صورت،
\fBpnmnorm\fP
مقدار صدک را بر اساس نیاز تنظیم میکند. در این مثال، از ۹۹ به عنوان مقدار سیاه (مانند
\fB-bvalue=99\fP)
استفاده میکند.
.sp
همچنین ممکن است به دلیل این واقعیت که
\fBpnmnorm\fP
نمیتواند یک خانه از جدول هیستوگرام را خرد کند، گزینههای
\fB-bpercent\fP
و
\fB-wpercent\fP
شما مقدار روشنایی یکسانی را برای گسترش به سفید و گسترش به سیاه انتخاب کنند. مثلاً اگر یک تصویر سراسر دارای روشنایی ۱۰۰ باشد، صرفنظر از اینکه چه مقادیری برای
\fB-bpercent\fP
و
\fB-wpercent\fP
انتخاب کنید، معادل با گفتن
\fB-bvalue=100 -wvalue=100\fP
خواهد بود. در این حالت،
\fBpnmnorm\fP
یکی از مقادیر را به اندازه ۱ تغییر میدهد تا معتبر شود. در این مثال،
\fBpnmnorm\fP
یا مقدار سیاه را ۹۹ یا مقدار سفید را ۱۰۱ قرار میدهد.
.sp
پیش از Netpbm 10.43 (ژوئن ۲۰۰۸)، اگر مقادیر
\fB-wpercent\fP
و/یا
\fB-bpercent\fP
همپوشانی ایجاد میکردند،
\fBpnmnorm\fP
با خطا متوقف میشد.
.sp
نقاط گسترش علاوه بر این توسط گزینه
\fB-maxexpand\fP
محدود میشوند. گاهی اوقات کنتراست بیش از حد چیز بدی است. اگر شدتهای روشنایی شما همگی در میانه متمرکز باشند،
\fB-bpercent=2\fP
و
\fB-wpercent=1\fP
ممکن است به این معنا باشد که شدت ۶۰ تا ۱۰۰ گسترش یابد و شدت ۲۰ تا صفر کاهش یابد، که منجر به انبساط محدوده به میزان ۱۵۰٪ میشود (از محدودهای با طول ۴۰ به محدودهای با طول ۱۰۰). این مقدار گسترش یعنی دو پیکسل مجاور که قبلاً در شدت روشنایی ۴ واحد با هم تفاوت داشتند، اکنون ۱۰ واحد تفاوت دارند، و این ممکن است ناخوشایند باشد.
.TP
\fB-bsingle\fP
.sp
برای تعیین اینکه کمترین روشنایی منفرد در تصویر باید به رنگ سیاه در خروجی گسترش یابد،
\fB-bsingle\fP
را مشخص کنید. برای تعیین اینکه بیشترین روشنایی منفرد در تصویر به رنگ سفید در خروجی گسترش یابد،
\fB-wsingle\fP
را مشخص نمایید. گزینههای
\fB-bsingle\fP
و
\fB-wsingle\fP
در Netpbm 10.69 (دسامبر ۲۰۱۴) اضافه شدند.
.TP
\fB-maxexpand\fP
.sp
برای اینکه بتوانید بدون نیاز به بررسی قبلی تصویر، محدودیتی بر میزان گسترش اعمال کنید، گزینه
\fB-maxexpand\fP
وجود دارد. این گزینه حداکثر گسترشی را که تحمل میکنید، به صورت یک درصد اضافی مشخص میکند. در مثال بالا، میتوانید با تعیین
\fB-maxexpand=50\fP
اعلام کنید که میخواهید محدوده حداکثر تا ۵۰٪ گسترش یابد، صرفنظر از سایر گزینههای انتخابی شما.
\fBpnmnorm\fP
همانطور که در بالا توضیح داده شد تعیین میکند چه شدتی را به شدت کامل و چه شدتی را به شدت صفر گسترش دهد، و سپس در صورت نیاز اولی را کاهش و دومی را افزایش میدهد تا گسترش را به مقداری که مشخص کردهاید محدود سازد.
.sp
هنگامی که
\fBpnmnorm\fP
گسترش را به دلیل
\fB-maxexpand\fP
محدود میکند، پیامی شبیه به این به شما نشان میدهد:
.nf
limiting expansion of 150% to 50%
.fi
.sp
در هر صورت،
\fBpnmnorm\fP
دقیقاً به شما اطلاع میدهد که چه گسترشی را انجام میدهد، مانند این:
.nf
remapping 25..75 to 0..100
.fi
.sp
پیش از Netpbm 10.26 (دسامبر ۲۰۰۴)، تعیین همزمان
\fB-bvalue\fP
و
\fB-bpercent\fP
یا
\fB-wvalue\fP
و
\fB-wpercent\fP
مجاز نبود.
.sp
گزینه
\fB-maxexpand\fP
در Netpbm 10.32 (فوریه ۲۰۰۶) اضافه شد.
.TP
\fB-keephues\fP
.sp
این گزینه دستور میدهد تا تهرنگ (hue) هر پیکسل دقیقاً همانگونه که در ورودی است حفظ شود؛ و فقط روشنایی آن تنظیم گردد. معمولاً شما همین رفتار را میخواهید؛ تنها دلیلی که این گزینه رفتار پیشفرض نیست، سازگاری رو به عقب (پسرو) با یک اشتباه طراحی قدیمی است.
.sp
به طور پیشفرض،
\fBpnmnorm\fP
کنتراست را در هر مولفه به صورت مستقل نرمالسازی میکند (به جز اینکه مفهوم گزینههای
\fB-wpercent\fP
و
\fB-bpercent\fP
بر اساس روشنایی کلی رنگها است، نه هر مولفه به صورت جداگانه). بنابراین اگر رنگی داشته باشید که قرمزی شدید اما سبزی بسیار کمرنگی دارد،
\fBpnmnorm\fP
رنگ قرمز را شدیدتر و سبز را کمرنگتر میکند، بنابراین در نهایت با تهرنگی متفاوت از آنچه با آن شروع کرده بودید مواجه میشوید.
.TP
\fB-midvalue=\fP\fIN\fP
.TP
\fB-middle=\fP\fIN\fP
.sp
هنگامی که
\fB-midvalue=\fP\fIN\fP
را مشخص میکنید،
\fBpnmnorm\fP
از یک تابع درجه دوم برای نگاشت روشناییهای قدیم به جدید استفاده میکند و اطمینان حاصل میکند که روشنایی قدیمی با مقدار
\fIN\fP
در خروجی به ۵۰٪ روشنایی تبدیل شود. میتوانید این مقدار پیشفرض ۵۰٪ را با
\fB-middle\fP
تغییر دهید. مقدار
\fB-middle\fP
یک عدد ممیز شناور در بازه 0 تا 1 است که در آن 0 نشاندهنده تاریکی مطلق و 1 نشاندهنده روشنایی کامل است. اگر مقادیر
\fB-midvalue\fP
و
\fB-middle\fP
شما بیانگر یک تابع درجه دوم مبهم یا غیرممکن باشد (مثلاً
\fB-midvalue\fP
با
\fB-bvalue\fP
یکسان باشد، به طوری که بینهایت تابع درجه دوم بر آن منطبق شوند)،
\fBpnmnorm\fP
صرفاً مقدار
\fB-midvalue\fP
شما را نادیده گرفته و نگاشت را به صورت خطی انجام میدهد.
گزینههای
\fB-midvalue\fP
و
\fB-middle\fP
در Netpbm 10.57 (دسامبر ۲۰۱۱) اضافه شدند.
.sp
اگر
\fB-keephues\fP
را مشخص کنید،
\fBpnmnorm\fP
احتمالاً به این پیکسل دست نخواهد زد، زیرا روشنایی کلی آن متوسط است.
.sp
گزینه
\fB-keephues\fP
میتواند باعث برش (clipping) شود، زیرا ممکن است یک رنگ معین زیر شدت هدف باشد در حالی که یکی از مولفههای آن به حد اشباع رسیده باشد. در این موارد،
\fBpnmnorm\fP
از حداکثر شدت قابل نمایش برای مولفه اشباعشده استفاده میکند و در نتیجه پیکسل با شدت کلی کمتر و تهرنگی متفاوت از آنچه قرار بود باشد مواجه میشود.
.sp
این گزینه روی تصاویر مقیاس خاکستری (grayscale) بیمعنی است.
.sp
هنگامی که
\fB-keephues\fP
را تعیین
\fIنمیکنید\fP،
گزینههای
\fB-luminosity\fP،
\fB-colorvalue\fP
و
\fB-saturation\fP
بر تابع تبدیل اثر میگذارند (که برای هر سه مولفه RGB یکسان است)، اما در زمان اعمال تابع تبدیل بیتاثیر هستند (زیرا روی تکتک مولفههای RGB اعمال میشود).
.sp
پیش از Netpbm 9.25 (مارس ۲۰۰۲)، گزینه
\fB-keephues\fP
وجود نداشت.
.TP
\fB-luminosity\fP
.TP
\fB-colorvalue\fP
.TP
\fB-saturation\fP
.sp
گزینههای
\fB-luminosity\fP،
\fB-colorvalue\fP
و
\fB-saturation\fP
تعیین میکنند که
\fBpnmnorm\fP
کدام ویژگی پیکسلها را نرمالسازی کند؛ به عبارت دیگر، چه نوعی از روشنایی. شما نمیتوانید بیش از یکی از این گزینهها را مشخص کنید.
.sp
گزینه
\fB-luminosity\fP
دستور میدهد تا از درخشندگی (یعنی "Y" در فضای رنگی YUV یا YCbCr) به عنوان روشنایی پیکسل استفاده شود. درخشندگی معیاری است از اینکه چشم انسان چه میزان روشنایی برای رنگ درک میکند، با در نظر گرفتن این واقعیت که چشم انسان نسبت به برخی از مولفههای RGB حساستر از بقیه است.
.sp
این گزینه پیشفرض است.
.sp
این گزینه روی تصاویر مقیاس خاکستری بیمعنی است.
.sp
پیش از Netpbm 10.28 (اوت ۲۰۰۵)، گزینه
\fB-luminosity\fP
وجود نداشت، اما مفهوم آن همچنان حالت پیشفرض بود.
.sp
پیش از Netpbm 10.28 (اوت ۲۰۰۵)، گزینه
\fB-colorvalue\fP
وجود نداشت.
.sp
گزینه
\fB-colorvalue\fP
دستور میدهد از ارزش رنگ (یعنی "V" در فضای رنگی HSV) به عنوان روشنایی پیکسل استفاده شود. ارزش رنگ شدت تصحیحشده با گامای (gamma-adjusted) شدیدترین مولفه RGB است.
.sp
این گزینه روی تصاویر مقیاس خاکستری بیمعنی است.
.sp
پیش از Netpbm 10.28 (اوت ۲۰۰۵)، گزینه
\fB-colorvalue\fP
وجود نداشت.
.sp
گزینه
\fB-saturation\fP
دستور میدهد از اشباع (یعنی "S" در فضای رنگی HSV) به عنوان روشنایی پیکسل استفاده شود. اشباع نسبت شدت شدیدترین مولفه RGB به تفاضل بین شدتهای شدیدترین و ضعیفترین مولفه RGB است (تمام شدتها با گاما تصحیح شدهاند).
.sp
در این حالت، «روشنایی» بیشتر یک استعاره است تا هر چیز دیگر؛ «روشن» به معنای اشباعشده و «تاریک» به معنای غیراشباع است.
.sp
این گزینه روی تصاویر مقیاس خاکستری بیمعنی است.
.sp
پیش از Netpbm 10.28 (اوت ۲۰۰۵)، گزینه
\fB-colorvalue\fP
وجود نداشت.
.UN seealso
.SH "همچنین ببینید (SEE ALSO)"
.BR "pnmhisteq" (1)\c
\&,
.BR "pamlevels" (1)\c
\&,
.BR "ppmhist" (1)\c
\&,
.BR "pgmhist" (1)\c
\&,
.BR "pambrighten" (1)\c
\&,
.BR "ppmdim" (1)\c
\&,
.BR "pnmgamma" (1)\c
\&,
.BR "pnm" (1)\c
\&
.SH "منبع سند (DOCUMENT SOURCE)"
این صفحه راهنما توسط ابزار 'makeman' در Netpbm از منبع HTML تولید شده است. مستندات اصلی در نشانی زیر قرار دارد:
.IP
.B http://netpbm.sourceforge.net/doc/pnmnorm.html
.PP