Pamdepth User Manual(0) Pamdepth User Manual(0)

pamdepth - تغییر عمق (تفکیک‌پذیری رنگ) در یک تصویر Netpbm

pamdepth newmaxval [netpbmfile]

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

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

کاهش عمق منجر به از دست رفتن مقداری از اطلاعات می‌شود.

در اینجا مثالی از این اثر در سطح قالب تصویر آورده شده است: فرض کنید با تصویری با maxval برابر با 100 و مقادیر نمونه‌ی 50 و 100 شروع می‌کنید. به pamdepth مشخص می‌کنید که آن را به عمق 150 تغییر دهد. خروجی دارای maxval برابر با 200 و مقادیر نمونه‌ی 75 و 150 خواهد بود.

این برنامه روی جریان‌های چندتصویری (multi-image streams) نیز کار می‌کند.

هنگام انتخاب maxval جدید، مراقب خطاهای یکی‌کم‌و‌بیش (off-by-one errors) باشید. برای مثال، اگر می‌خواهید مقادیر رنگ پهنای ۵ بیت داشته باشند، از maxval برابر با 31 استفاده کنید، نه 32.

یکی از کاربردهای مهم pamdepth تبدیل یک فایل PNM با قالب جدیدِ ۲ بایت بر نمونه به قالب قدیمی‌ترِ ۱ بایت بر نمونه است. قبل از آوریل ۲۰۰۰، اساساً تمام فایل‌های قالب PNM خام (دودویی) دارای maxval کمتر از 256 و یک بایت به ازای هر نمونه بودند، و برنامه‌های متعددی ممکن است به آن وابسته باشند. اگر یک newmaxval کمتر از 256 مشخص کنید، فایل حاصل باید توسط هر برنامه‌ای که قبل از آوریل ۲۰۰۰ با فایل‌های PNM کار می‌کرده، قابل خواندن باشد.

قالب خروجی (PBM و غیره) و در مورد PAM، نوع تاپل (tuple type) خروجی معمولاً با ورودی یکسان است.

با این حال، تغییر عمق یک تصویر سیاه‌وسفید بی‌معنی است، مگر آنکه به یک تصویر در مقیاس خاکستری (grayscale) تبدیل شود؛ بنابراین اگر ورودی یک تصویر سیاه‌وسفید باشد، pamdepth خروجی را به‌صورت خاکستری درمی‌آورد. به‌طور دقیق‌تر، اگر ورودی یک تصویر PBM باشد، خروجی PGM خواهد بود، و اگر ورودی یک PAM با نوع تاپل BLACKANDWHITE یا BLACKANDWHITE_ALPHA باشد، خروجی به‌ترتیب یک PAM با نوع تاپل GRAYSCALE یا GRAYSCALE_ALPHA خواهد بود.

این تبدیل حتی اگر maxval جدید برابر با 1 باشد نیز انجام می‌شود.

قبل از Netpbm نسخه 10.92 (سپتامبر ۲۰۲۰)، اگر ورودی PAM با نوع تاپل سیاه‌وسفید بود و maxval جدید مقداری به‌جز 1 داشت، pamdepth با خطا مواجه می‌شد. اما همواره PBM را به PGM ارتقا می‌داد.

هیچ گزینه خط فرمانی به‌طور اختصاصی برای pamdepth تعریف نشده است، اما گزینه‌های عمومی مشترک بین تمامی برنامه‌های مبتنی بر libnetpbm را می‌شناسد (نگاه کنید به گزینه‌های عمومی .)

pnm(1)، pam(1)، pnmquant(1)، ppmdither(1)، pambrighten(1)، pamfunc(1)

دستور pamdepth در Netpbm نسخه 10.32 (فوریه ۲۰۰۶) اضافه شد. این دستور جایگزین pnmdepth اثر Jef Poskanzer گردید. pamdepth با pnmdepth سازگاری پس‌رو دارد و قابلیت پردازش تصاویر دلخواه PAM و امکان پردازش جریان‌های ورودی چندتصویری را فراهم می‌کند. pnmdepth تنها تصاویر PNM را مدیریت می‌کرد و در هر جریان، تمام تصاویر به‌جز اولین تصویر را نادیده می‌گرفت.

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

http://netpbm.sourceforge.net/doc/pamdepth.html
26 August 2020 netpbm documentation