Pbmmask User Manual(0) Pbmmask User Manual(0)

pbmmask - ایجاد یک بیت‌مپ ماسک از یک بیت‌مپ معمولی

pbmmask [-expand] [pbmfile]

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

دستور pbmmask یک تصویر PBM را به عنوان ورودی خوانده و یک ماسک متناظر از نواحی پیش‌زمینه را به صورت یک تصویر PBM دیگر تولید می‌کند.

این دستور احتمالاً توسط pambackground منسوخ شده است.

رنگی که باید به عنوان «پس‌زمینه» تفسیر شود، به طور خودکار تعیین می‌شود. صرف‌نظر از اینکه چه رنگی پس‌زمینه است، ماسک در جایی که پس‌زمینه قرار دارد سفید و در جایی که شکل (سوژه) قرار دارد سیاه خواهد بود.

این قابلیت به شما اجازه می‌دهد تا برای اشیائی با پس‌زمینه سیاه، یک چسباندن ماسک‌شده (masked paste) مانند این انجام دهید:

pbmmask obj > objmask
pnmpaste < dest -and objmask <x> <y> | pnmpaste -or obj <x> <y>

برای اشیائی با پس‌زمینه سفید، می‌توانید آن‌ها را معکوس کنید یا یک مرحله اضافه نمایید:

pbmmask obj > objmask
pnminvert objmask | pnmpaste -and obj 0 0 > blackback
pnmpaste < dest -and objmask <x> <y> | pnmpaste -or blackback <x> <y>

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

همچنین می‌توانید با استفاده از ابزار pnmarith، از ماسک‌ها برای تصاویر در مقیاس خاکستری و رنگی نیز استفاده کنید. برای مثال:

ppmtopgm obj.ppm | pamditherbw -threshold | pbmmask > objmask.pbm
pnmarith -multiply dest.ppm objmask.pbm > t1.ppm
pnminvert objmask.pbm | pnmarith -multiply obj.ppm - > t2.ppm
pnmarith -add t1.ppm t2.ppm

یک حالت جالب دیگر این است که ماسک را پیش از استفاده، از طریق لوله (pipe) به pnmsmooth بفرستید. این کار مرز بین دو تصویر را نرم‌تر و ملایم‌تر می‌کند.

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

ماسک را به اندازه یک پیکسل به سمت خارج تصویر گسترش می‌دهد. این ویژگی زمانی مفید است که بخواهید یک حاشیه سفید کوچک در اطراف تصویر خود داشته باشید. (شاید یک راهکار بهتر این باشد که برنامه pbmlife به یک ابزار اتوماتای سلولی عمومی تبدیل شود...)

pambackground(1) ppmcolormask(1)، pnmpaste(1)، pnminvert(1)، pnmarith(1)، pnmsmooth(1) pbm(1)،

حق نشر (C) ۱۹۸۸ متعلق به Jef Poskanzer است.

دستور pbmmask یکی از قدیمی‌ترین برنامه‌ها در Netpbm است. در سپتامبر ۲۰۲۱، تاریخ درج‌شده روی این دفترچه راهنما ۸ اوت ۱۹۸۹ بود (که تاریخ آخرین به‌روزرسانی اساسی آن محسوب می‌شد). ما این صفحه را در آن زمان به‌روزرسانی کردیم تا صرفاً این اطلاعات تاریخی را اضافه کرده و استفاده از pambackground را توصیه نماییم.

به احتمال زیاد هنگامی که Bryan در سال ۲۰۰۶ برنامه pambackground را می‌نوشت، از وجود pbmmask بی‌اطلاع بوده است. در غیر این صورت، احتمالاً pbmmask را با یک پوسته واسط (wrapper) حول pambackground جایگزین می‌کرد.

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

http://netpbm.sourceforge.net/doc/pbmmask.html
28 September 2021 netpbm documentation