Pamsistoaglyph User Manual(0) Pamsistoaglyph User Manual(0)

pamsistoaglyph - تبدیل یک استریوگرام تک‌تصویری به تصویر آناگلیف قرمز/فیروزه‌ای

pamsistoaglyph [--invert] [--sep=number] [--minsep=number] [--gray=number] [in_netpbmfile

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

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

برنامه pamsistoaglyph یک تصویر Netpbm را به عنوان ورودی می‌خواند و یک تصویر Netpbm را در خروجی تولید می‌کند.

برنامه pamsistoaglyph یک استریوگرام تک‌تصویری (SIS)، مانند موارد تولیدشده توسط pamstereogram(1)، را دریافت کرده و آن را به یک تصویر آناگلیف (anaglyphic) قرمز/فیروزه‌ای، مانند موارد تولیدشده توسط ppm3d(1)، تبدیل می‌کند. بسیاری از افراد برای فریب دادن چشمان خود جهت تمرکز بر نقطه‌ای فراتر از تصویر پیش رویشان دچار مشکل می‌شوند و بنابراین نمی‌توانند شکل سه‌بعدیِ پنهان در یک استریوگرام تک‌تصویری را تشخیص دهند. ادراک سه‌بعدی استریوگرام‌های آناگلیف ساده‌تر است، اما نیاز به یک عینک قرمز/فیروزه‌ای دارند، نظیر عینک‌هایی که اغلب برای تماشای فیلم‌های سه‌بعدی به کار می‌روند. هدف pamsistoaglyph کمک به افرادی است که در تماشای استریوگرام‌های تک‌تصویری مشکل دارند تا بتوانند این جلوه سه‌بعدی جذاب را مشاهده کنند.

برنامه pamsistoaglyph می‌تواند استریوگرام‌های تک‌تصویری با نقاط تصادفی (SIRDS)، استریوگرام‌های کاغذدیواری و حتی استریوگرام‌های دوتصویری را به تصاویر آناگلیف تبدیل کند.

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

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

تصاویر چشم چپ و راست را جابه‌جا می‌کند. pamsistoaglyph فرض می‌کند که ورودی آن نشان‌دهنده یک استریوگرام چشم‌موازی (wall-eyed) است و تصویر آناگلیف را متناسب با آن تولید می‌کند. اگر تصویر تولیدشده در جایی که باید به سمت بیرون برجسته باشد به درون صفحه فرورفته به نظر برسد (و برعکس)، معمولاً حاکی از آن است که تصویر ورودی نمایانگر یک استریوگرام چشم‌متقاطع (cross-eyed) است. برای تصحیح عمق تصویر از --invert استفاده کنید.
فاصله بر حسب پیکسل میان تصاویر چشم چپ و راست را تعیین می‌کند. اساساً این مقدار متناظر با فاصله میان تکرارهای الگوی پس‌زمینه است. استفاده از گزینه --sep به ندرت لازم است، زیرا pamsistoaglyph در تشخیص خودکار فاصله تفکیک چشم‌ها عملکرد بسیار مناسبی دارد.
این گزینه مشابه --sep است، اما pamsistoaglyph را تنها به یک حداقل فاصله تفکیک چشم محدود می‌کند. هر فاصله‌ای بزرگ‌تر از number قابل قبول خواهد بود. استفاده از گزینه --minsep به ندرت ضروری است، زیرا pamsistoaglyph در تشخیص خودکار فاصله تفکیک چشم عملکرد خوبی دارد. مقدار پیش‌فرض برای حداقل فاصله تفکیک چشم، ۱۰٪ عرض تصویر است؛ به نظر می‌رسد این مقدار در عمل به خوبی کار می‌کند.
تعداد سطوح خاکستری مورد استفاده را هنگام جستجو برای فاصله بهینه تفکیک چشم‌ها محدود می‌کند. از آنجا که pamsistoaglyph به دنبال الگوهای تکرارشونده می‌گردد، نسبت به سردرگمی حاصل از تغییرات جزئی رنگ حساس است. با تبدیل تصویر ورودی به مقیاس خاکستری (grayscale) و محدود ساختن تعداد سطوح خاکستری، pamsistoaglyph اثرات تغییرات ناخواسته در رنگ را کاهش می‌دهد (برای مثال، تغییراتی که در اثر تبدیل از یک تصویر JPEG بی‌کیفیت ایجاد می‌شوند). مقدار پیش‌فرض ۶۳ به نظر می‌رسد عملکرد مناسبی دارد، بنابراین استفاده از گزینه --gray به ندرت لازم خواهد بود.

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

  • تصویر را به مقیاس خاکستری تبدیل می‌کند تا توانایی شناسایی تطابق‌ها افزایش یابد.
  • تعداد پیکسل‌هایی را که با N پیکسل جلوتر در تصویر مطابقت دارند، برای تمامی مقادیر N در بازه [1, width/2] می‌شمارد.
  • میانگین متحرک (mu) و انحراف معیار متحرک (sigma) تعداد پیکسل‌های منطبق را نگهداری می‌کند.
  • مقدار N متناظر با هر جهش (spike) در تعداد پیکسل‌های منطبق را ذخیره می‌کند. جهش به عنوان شمارشی تعریف می‌شود که از میانگین به اضافه یک، دو، یا سه برابر انحراف معیار فراتر رود. تنها نخستین جهش از یک ضریب انحراف معیار مشخص ذخیره می‌شود.
  • اگر شمارشی بزرگ‌تر از mu+3sigma مشاهده شد، مقدار N متناظر را برمی‌گرداند. در غیر این صورت، چنانچه شمارشی بزرگ‌تر از mu+2sigma مشاهده شد، مقدار N متناظر را برمی‌گرداند. در غیر این صورت، چنانچه شمارشی بزرگ‌تر از mu+sigma مشاهده شد، مقدار N متناظر را برمی‌گرداند. در غیر این صورت، آن Nای را بازمی‌گرداند که حداقل میانگین فاصله بین پیکسل‌های منطبق را حاصل کند (یعنی، #matches تقسیم بر #pixels). اگر هیچ مقدار Nای از حداقل مقدار مجاز تفکیک چشم‌ها فراتر نرود، مقدار صفر را به نشانه شکست بازمی‌گرداند.
  • اگر الگوریتم مقدار صفر را بازگرداند، الگوریتم به صورت مستقل بر روی هر سطر از تصویر ورودی بازاجرا می‌شود و میانه تمام مقادیر N که از حداقل مقدار مجاز تفکیک چشم‌ها بیشتر هستند بازگردانده می‌شود. اگر چنین Nای یافت نشد، برنامه با یک پیام خطا متوقف می‌شود.

برنامه pamsistoaglyph توسط Scott Pakin در آوریل ۲۰۰۹ نوشته شد. این برنامه برای نخستین بار در Netpbm نگارش ۱۰.۴۷ (ژوئن ۲۰۰۹) منتشر شد.

حق نشر ۲۰۰۹ متعلق به Scott Pakin, scott+pbm@pakin.org است.

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

http://netpbm.sourceforge.net/doc/pamsistoaglyph.html
05 April 2009 netpbm documentation