Pgmtoppm User Manual(1) General Commands Manual Pgmtoppm User Manual(1)

pgmtoppm - تبدیل تصویر خاکستری PGM به تصویر رنگی PPM با اعمال نقشه رنگ

pgmtoppm [-black=colorspec1] [-white=colorspec2]
[pgmfile] pgmtoppm -map=filename [pgmfile] pgmtoppm colorspec [pgmfile] pgmtoppm colorspec1-colorspec2 [pgmfile]

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

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

اگر تنها هدف شما تبدیل PGM به PPM با حفظ همان پیکسل‌های خاکستری است، ممکن است نیازی به این کار نداشته باشید. تمام برنامه‌های Netpbm که ورودی PPM می‌پذیرند، PGM را نیز تشخیص می‌دهند. و اگر حتماً به یک فایل PPM نیاز دارید، به جای این برنامه از ppmtoppm استفاده کنید؛ زیرا کارآمدتر بوده و استفاده از آن ساده‌تر است.

برنامه pgmtoppm یک فایل PGM را به عنوان ورودی می‌خواند و یک فایل PPM به عنوان خروجی تولید می‌کند که در آن به هر مقدار خاکستری در ورودی، رنگ خاصی اختصاص داده شده است.

می‌توانید مشخص کنید که رنگ سیاه در ورودی به چه رنگی در خروجی و رنگ سفید به چه رنگی نگاشت شود. تمام مقادیر خاکستری مابین این دو، به صورت خطی (در یک فضای سه‌بعدی) به رنگ‌های بین رنگ سیاه و سفیدِ مشخص‌شده نگاشت می‌شوند.

برای این منظور از گزینه‌های -black و -white استفاده کنید. بنا به دلایل تاریخی، می‌توانید به عنوان روش جایگزین از آرگومان‌های بدون گزینه (غیرفلگ) برای تعیین رنگ‌ها استفاده کنید. در این صورت، pgmtoppm آرگومان رنگ را به این صورت تفسیر می‌کند: اگر آرگومان به شکل black-white باشد، اثری معادل -black=black -white=white دارد. اگر به جای آن خط تیره‌ای در آرگومان رنگ وجود نداشته باشد، اثری معادل -white=color_argument خواهد داشت.

به دلیل این قواعد دستوری سنتی، امکان استفاده از مقادیر پیش‌فرض برای هر دو گزینه -black و -white به صورت همزمان وجود ندارد (البته نباید نیازی هم به این کار داشته باشید - برای راهنمایی در مورد انجام چنین تبدیل خنثی، بخش زیر را ببینید).

همچنین می‌توانید با استفاده از گزینه -map یک نقشه رنگی کامل را مشخص کنید.

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

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

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

رنگ (color) را مطابق توضیحات آرگومان تابع کتابخانه‌ای pnm_parsecolor() مشخص کنید.

نمی‌توانید این گزینه را همراه با -map مشخص کنید.

این گزینه در Netpbm 10.97 (دسامبر ۲۰۲۱) اضافه شده است. قبل از آن، از آرگومان رنگ استفاده می‌شد.

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

رنگ (color) را مطابق توضیحات آرگومان تابع کتابخانه‌ای pnm_parsecolor() مشخص کنید.

نمی‌توانید این گزینه را همراه با -map مشخص کنید.

این گزینه در Netpbm 10.97 (دسامبر ۲۰۲۱) اضافه شده است. قبل از آن، از آرگومان رنگ استفاده می‌شد.

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

هنگامی که از -map استفاده نمی‌کنید، «maxval» یا همان عمق رنگ تصویر خروجی، برابر با عمق رنگ تصویر ورودی خواهد بود. مقدار maxval روی تفکیک‌پذیری رنگ تأثیر می‌گذارد که ممکن است خطاهای کوانتیزاسیون پیش‌بینی‌نشده‌ای در خروجی ایجاد کند. برای مثال، فرض کنید یک تصویر سیاه‌وسفید ساده به صورت PGM با maxval برابر با ۱ دارید. اگر این تصویر را با دستور pgmtoppm 0f/00/00 اجرا کنید تا تصویری با رنگ‌های سیاه و قرمز کم‌رنگ ایجاد شود، از آنجا که تصویر خروجی نیز دارای maxval برابر با ۱ خواهد بود، رنگی به نام قرمز کم‌رنگ وجود نخواهد داشت و فقط می‌تواند تماماً قرمز یا تماماً سیاه باشد. در نتیجه pgmtoppm رنگ 0f/00/00 را به سمت سیاه گرد می‌کند و تصویر خروجی کاملاً سیاه به دست می‌آید.

راهکار ساده است: پیش از ارسال ورودی به pgmtoppm، آن را از طریق pamdepth عبور دهید تا عمق آن را به مقداری افزایش دهید که وضوح لازم برای دستیابی به رنگ دلخواه را فراهم کند. در این مثال، pamdepth 16 کفایت می‌کند؛ یا برای جلوگیری از محاسبات غیرضروری، به سادگی از pamdepth 255 استفاده کنید.

ورودی PBM یک حالت خاص است. با اینکه ممکن است تصور شود این فرمت معادل PGM با maxval برابر با ۱ است (زیرا تنها دو سطح خاکستری برای نمایش تصویر PBM نیاز است)، pgmtoppm مانند تمام برنامه‌های Netpbm در واقع با آن مانند تصویری با maxval برابر با ۲۵۵ رفتار می‌کند.

ppmtoppm(1), pamdepth(1), rgb3toppm(1), ppmtopgm(1), ppmtorgb3(1), ppm(1), pgm(1)

حق نشر 1991 متعلق به Jef Poskanzer است.

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

http://netpbm.sourceforge.net/doc/pgmtoppm.html
02 October 2021 netpbm documentation