Pbmnoise User Manual(0) Pbmnoise User Manual(0)

pbmnoise - ایجاد یک تصویر PBM متشکل از نویز سفید

pbmnoise width height

[-ratio=M/N] [-pack] [-randomseed=integer] [-endian=]{big|little|native|swap}]

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

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

برنامه pbmnoise یک تصویر PBM با پیکسل‌های تصادفی ایجاد می‌کند. شما احتمال سیاه یا سفید بودن هر پیکسل را مشخص می‌کنید (در واقع، نسبت پیکسل‌های سیاه به سفید در تصویر).

شما ابعاد تصویر را با آرگومان‌های width (عرض) و height (ارتفاع) تعیین می‌کنید.

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

نسبت پیکسل‌های سیاه در تصویر تولیدشده.

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

مقدار این گزینه یک کسر است. مخرج باید ۱ یا توانی از ۲ (عدد صحیح) تا ۶۵۵۳۶ باشد. صورت کسر باید ۰ یا یک عدد صحیح مثبت باشد که از مخرج بیشتر نشود.

مقدار پیش‌فرض ۱/۲ است، به این معنی که تصویر خروجی اساساً تعداد برابری پیکسل سیاه و سفید دارد.

اگر نسبت ۰ باشد تصویر خروجی کاملاً سفید خواهد بود. اگر ۱ باشد، خروجی کاملاً سیاه است.

این برنامه پیکسل‌ها را در واحدهای ۳۲ بیتی تولید می‌کند و به طور پیش‌فرض پیکسل‌های کسری باقیمانده در انتهای سطر را نادیده می‌گیرد. در صورت تعیین این گزینه، پیکسل‌های بلااستفاده به سطر بعدی منتقل می‌شوند که با مقداری هزینه سربار، از هدررفت جلوگیری می‌کند.

استفاده از این گزینه هنگام کوچک بودن عرض تصویر، کارایی را بهبود می‌بخشد.

این مقدار بذر (seed) برای مولد اعداد تصادفی است که پیکسل‌ها را تولید می‌کند.

از این گزینه برای اطمینان از دریافت تصویر یکسان در دفعات مختلف اجرا استفاده کنید.

به طور پیش‌فرض، pbmnoise از بذری که از ساعت سیستم و شناسه فرایند (PID) مشتق شده استفاده می‌کند، که نتایجی نسبتاً غیرهمبسته در دفعات اجرای چندگانه به شما می‌دهد.

برنامه pbmnoise درون خود اعداد صحیح ۳۲ بیتی تصادفی تولید می‌کند و از کدگذاری باینری سیستم برای آن اعداد به عنوان رشته‌های پیکسلی استفاده می‌نماید. از آنجا که اعداد صحیح تصادفی هستند، در حالت عادی فرقی نمی‌کند که چه کدگذاری باینری برای آن‌ها به کار رفته است، اما اگر به نتایج یکسان بین ماشین‌های مختلف با استفاده از یک مولد اعداد تصادفی نیاز داشته باشید، این موضوع اهمیت پیدا می‌کند. به همین دلیل (عمدتاً برای آزمایش برنامه)، این گزینه به شما اجازه می‌دهد که ترتیب بایت‌ها را بین big-endian و little-endian کنترل کنید.

مقدار mode یکی از موارد زیر است:

اجبار خروجی به big-endian با مرتب‌سازی مجدد بایت‌ها در ماشین‌های little-endian. در ماشین‌های big-endian تأثیری ندارد.
مشابه مورد قبل، اجبار خروجی به little-endian.
عدم تغییر در ترتیب بایت‌ها (حالت بومی سیستم). این مقدار پیش‌فرض است.
تعویض دائمی ترتیب بایت‌ها، صرف‌نظر از endianness سیستم.

دستور زیر یک تصویر PBM تصادفی تولید می‌کند که تقریباً یک‌سوم پیکسل‌های آن سیاه هستند:


  pbmnoise -ratio=11/32 1200 1200 > random.pbm

دستور زیر یک روش جایگزین برای تولید تصویر تصادفی PBM است که به جای pbmnoise از pgmnoise و pgmtopbm استفاده می‌کند. این روش کارایی کمتری دارد:


  pgmnoise -maxval=100 1200 1200 | \
    pgmtopbm -threshold -value=0.333 > random.pbm

دستور زیر یک تصویر PPM تصادفی با maxval برابر ۱ تولید می‌کند:


  pbmnoise 600 400 > red.pbm
  pbmnoise 600 400 > green.pbm
  pbmnoise 600 400 > blue.pbm
  rgb3topbm red.pbm green.pbm blue.pbm > random.ppm

pbm(1) pgmnoise(1) pgmtopbm(1)

دستور pbmnoise در Netpbm 10.97 (دسامبر 2021) جدید بود.

در نسخه‌های پیشین Netpbm، می‌توانید از pgmnoise استفاده کنید.

این برنامه توسط Akira F Urushibata نوشته شده و در دسامبر 2021 به مالکیت عمومی (public domain) واگذار شده است.

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

http://netpbm.sourceforge.net/doc/pbmnoise.html
18 December 2021 netpbm documentation