Pnmquant User Manual(0) Pnmquant User Manual(0)

pnmquant - کوانتیزه کردن رنگ‌ها در یک تصویر Netpbm به یک مجموعه کوچک‌تر

pnmquant [-center|-meancolor|-meanpixel] [-floyd|-fs] [-nofloyd|-nofs] [-spreadbrightness|-spreadluminosity] {[-norandom]|[-randomseed=n]} ncolors [pnmfile]

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

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

دستور pnmquant یک تصویر PNM را به عنوان ورودی می‌خواند. این دستور ncolors رنگ را برای بهترین بازنمایی تصویر انتخاب می‌کند، رنگ‌های موجود را به رنگ‌های جدید نگاشت می‌نماید و یک تصویر PNM را به عنوان خروجی می‌نویسد.

این برنامه صرفاً ترکیبی از pnmcolormap و pnmremap است، به‌طوری که رنگ‌های ورودی با استفاده از یک نقشه رنگ که از روی رنگ‌های همان تصویر ورودی تولید شده است، بازنگاشت می‌شوند. گزینه‌ها همان معانی موجود در آن برنامه‌ها را دارند. برای درک عملکرد pnmquant به مستندات آن‌ها مراجعه کنید.

شاید در عمل کمتر از ncolors رنگ در خروجی دریافت کنید؛ چرا که روشی که pnmcolormap برای انتخاب بهترین مجموعه رنگ‌ها برای تصویر به کار می‌برد با روشی که pnmremap برای تعیین بهترین رنگ از آن مجموعه جهت بازنمایی یک رنگ خاص استفاده می‌کند یکسان نیست. برای مثال، ممکن است pnmcolormap رنگ سالمون (salmon) را به عنوان بهترین نماینده برای یک پیکسل صورتی در ورودی در نقشه رنگ بگنجاند و رنگ مرجانی (coral) را به عنوان بهترین نماینده برای یک پیکسل مرجانی واقعی در ورودی در نقشه رنگ قرار دهد. اما pnmremap آزاد است که از هر رنگی در نقشه رنگ برای بازنمایی آن پیکسل صورتی استفاده کند و چه بسا تشخیص دهد که مرجانی تطابق نزدیک‌تری با صورتی دارد تا سالمون، و در نتیجه از مرجانی برای صورتی استفاده کند. در این صورت ممکن است pnmremap برای هیچ پیکسلی از سالمون استفاده نکند.

این هدررفتِ یک جایگاه در نقشه رنگ، پیامد روش تقریبی است که pnmcolormap به منظور محاسبه نقشه رنگ با حجم محاسبات عملی و معقول به کار می‌گیرد.

فراخوانی مستقیم pnmcolormap و pnmremap بسیار سریع‌تر از اجرای pnmquant است؛ زیرا بار پردازشی اضافی مفسر Perl و ایجاد دو فرایند اضافه را حذف می‌کنید. دستور pnmquant صرفاً جهت تسهیل کار است.

در اینجا نمونه‌ای از ارتباط میان این برنامه‌ها آورده شده است:

این دستور:


    $ pnmquant 256 myimage.pnm >/tmp/colormap.pnm >myimage256.pnm

اساساً معادل این عملیات است:


    $ pnmcolormap 256 myimage.pnm >/tmp/colormap.pnm
    $ pnmremap -mapfile=/tmp/colormap.pnm myimage.pnm >myimage256.pnm

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

این گزینه‌ها انتخاب پالت رنگ را کنترل می‌کنند. این موارد گزینه‌های دستور pnmcolormap(1) هستند.

این گزینه‌ها کنترل می‌کنند که برنامه از کدام رنگ پالت برای جایگزینی پیکسلی با رنگ مشخص از ورودی استفاده کند. این موارد گزینه‌های دستور pnmremap(1) هستند.

دستور pnmquant پیش از Netpbm 9.21 (ژانویه ۲۰۰۱) وجود نداشت. پیش از آن، ppmquant همین کار را انجام می‌داد، اما فقط روی تصاویر PPM کار می‌کرد. دستور ppmquant همچنان وجود دارد، اما صرفاً یک رابط فرانت‌اند (برای سازگاری نام) به pnmquant است.

گزینه -version پیش از Netpbm 10.75 (ژوئن ۲۰۱۶) وجود نداشت.

گزینه -norandom پیش از Netpbm 10.82 (مارس ۲۰۱۸) وجود نداشت.

pnmcolormap(1), pnmremap(1), pnmquantall(1), pamdepth(1), ppmdither(1), ppmquant(1), pnm(1)

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

http://netpbm.sourceforge.net/doc/pnmquant.html
09 February 2019 netpbm documentation