Ppmcolormask User Manual(0) Ppmcolormask User Manual(0)

ppmcolormask - تولید ماسک از نواحی دارای رنگی خاص در یک فایل PPM

ppmcolormask -color=color_list [ppmfile]

ppmcolormask color [ppmfile]


    ppmcolormask -color red testimg.ppm >redmask.pbm
    pamcomp background.ppm testimg.ppm -alpha=redmask.pbm >test.ppm
    ppmcolormask -color=red,pink,salmon testimg.ppm >reddishmask.pbm
    ppmcolormask -color=bk:red,bk:orange,bk:yellow testimg.ppm >firemask.pbm

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

دستور ppmcolormask یک فایل PPM را به عنوان ورودی خوانده و یک فایل PBM (بیت‌مپ) به عنوان خروجی تولید می‌کند. فایل خروجی دارای ابعادی یکسان با فایل ورودی است و در تمام نقاطی که رنگ فایل ورودی با رنگ مشخص‌شده در گزینهٔ -color مطابقت داشته باشد، سیاه و در سایر نقاط سفید خواهد بود.

خروجی ppmcolormask به عنوان یک ورودی ماسک شفافیت (transparency mask) برای pamcomp مفید است. توجه داشته باشید که اگر در نهایت قصد تبدیل به PNG با استفاده از pnmtopng را دارید، نیازی به ppmcolormask و pamcomp ندارید؛ زیرا گزینهٔ -transparent در pnmtopng همین کار را انجام می‌دهد.

ppmfile فایل ورودی است. اگر ppmfile را مشخص نکنید، ورودی از ورودی استاندارد (Standard Input) دریافت می‌شود.

خروجی به خروجی استاندارد (Standard Output) ارسال می‌شود.

در نحو قدیمی و منسوخ‌شده، مشخص کردن color تنها یک رنگ دقیق را برای ماسک شدن تعیین می‌کند.

دستور ppmchange کار مشابهی انجام می‌دهد: با تغییر رنگ‌های تعیین‌شده توسط شما به رنگ‌های دیگری که مشخص می‌کنید، تصویر را اصلاح می‌کند. این دو برنامه روش‌های متفاوتی برای تعیین رنگ‌ها در تصویر ورودی فراهم می‌آورند.

برای ایجاد ماسک از پس‌زمینهٔ یک تصویر، بدون نیاز به تعیین رنگ آن، از pambackground استفاده کنید.

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

این گزینهٔ اجباری رنگ‌هایی را مشخص می‌کند که باید ماسک شوند (هر جا که تصویر یکی از این رنگ‌ها باشد، ماسک خروجی سیاه خواهد بود).

مثال‌ها:

  • -color=red
  • -color=red,pink,salmon
  • -color=rgb:80/80/ff
  • -color=bk:red,bk:orange,bk:yellow

    color_list فهرستی از رنگ‌ها است که با کاما از یکدیگر جدا شده‌اند. هر رنگ یا یک نام دقیق رنگ است، همان‌طور که برای آرگومان روتین کتابخانه‌ای pnm_parsecolor() شرح داده شده است، یا یکی از نام‌های رنگ Berlin-Kay است. در حالت دوم، تمام رنگ‌هایی که با آن نام رنگ Berlin-Kay نسبت به هر رنگ دیگری بهتر توصیف می‌شوند، در مجموعهٔ ماسک قرار می‌گیرند.

    الگوریتمی که ppmcolormask برای تطبیق نام رنگ Berlin-Kay با رنگ‌ها استفاده می‌کند، مبتنی بر یک سیستم استنتاج فازی نوع سوگنو (Sugeno) است که توسط Kenan Kalajdzic در سال ۲۰۰۶ توسعه یافته است. این مدل فازی شامل توابع عضویت پاره‌خطی تعریف‌شده در فضای رنگی HSV است. اگرچه الگوریتم‌های پیچیده‌تری برای تطبیق رنگ فازی وجود دارند، این الگوریتم عمداً ساده‌سازی شده است تا با کدی نسبتاً فشرده به سرعتی رضایت‌بخش دست یابد.

    این گزینه در Netpbm 10.34 (ژوئن ۲۰۰۶) معرفی شد. پیش از آن، باید از آرگومان color استفاده می‌کردید و امکان تعیین رنگ‌های Berlin-Kay وجود نداشت.

pamfind(1), pambackground(1), ppmchange(1), pgmtoppm(1), pamcomp(1), pbmmask(1), pnmtopng(1), ppm(1)

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

http://netpbm.sourceforge.net/doc/ppmcolormask.html
01 May 2006 netpbm documentation