Pamdice User Manual(0) Pamdice User Manual(0)

pamdice - قطعه‌قطعه کردن و برش تصویر Netpbm به ماتریسی از کاشی‌های کوچک‌تر

در این مثال‌ها، myimage.ppm تصویری با پهنای ۱۰٬۰۰۰ پیکسل و ارتفاع ۸٬۰۰۰ پیکسل است.


    $ pamdice myimage.ppm -width=1000 -height=1000 -outstem=myimage_part
    $ pamundice myimage_part_%1d_%1a.ppm -across=10 -down=8 >myimage.ppm
    $ pamdice myimage.ppm -height=1000 -voverlap=90 -outstem=myimage_part
    $ pamdice myimage.ppm -width=1000 -height=1000 -outstem=myimage_part \
        -listfile=tiles.txt
    $ pamundice -across=10 -down=8 -listfile=tiles.txt >myimage.ppm
    $ pamdice myimage.ppm -width=1000 -height=1000 -outstem=myimage_part \
        -indexfile=tiles.pam
    $ pamundice myimage_part_%1d_%1a.ppm -indexfile=tiles.pam >myimage.ppm

pamdice

-outstem=filenamestem

[-outsuffix=filenamesuffix]

[-width=width]

[-height=height]

[-hoverlap=hoverlap]

[-voverlap=voverlap]

[-numberwidth=N]

[-listfile=textfilename]

[-indexfile=pamfilename]

[-dry-run]

[-verbose]

[filename]

می‌توانید از کوتاه‌ترین مخفف یکتای گزینه‌ها استفاده کنید. همچنین می‌توانید به‌جای یک خط تیره از دو خط تیره استفاده نمایید. برای جداسازی نام گزینه از مقدار آن، استفاده از فاصله خالی (White Space) به‌جای علامت مساوی نیز مجاز است.

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

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

برای اطلاعات درباره نحوه نام‌گذاری فایل‌های خروجی، گزینه -outstem را ببینید.

گزینه‌های -width و -height اندازه قطعات خروجی را تعیین می‌کنند.

دستور pamundice می‌تواند این تصاویر قطعه‌قطعه‌شده را مجدداً به یکدیگر متصل کند. برای کنترل دقیق‌تر، می‌توانید از pamcat نیز استفاده کنید.

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

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

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

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

این گزینه نام فایل‌های خروجی را تعیین می‌کند. نام هر فایل خروجی به‌صورت filenamestem_y_x.type خواهد بود که در آن filenamestem مقدار داده‌شده به گزینه -outstem است، x و y به‌ترتیب موقعیت افقی و عمودی تصویر خروجی در تصویر ورودی هستند (مقدار صفر بیانگر بالاترین و چپ‌ترین موقعیت است)، و type بسته به نوع تصویر ورودی یکی از پسوندهای .pbm، .pgm، .ppm یا .pam خواهد بود.

مقادیر x و y با صفرهای پیش‌رو (Leading Zeroes) پر می‌شوند تا طول ارقام در تمام فایل‌ها یکسان باشد. با گزینه -numberwidth می‌توانید این طول را تعیین کنید؛ در غیر این صورت، به‌طور پیش‌فرض از کمترین تعداد رقم لازم برای پوشش تمام فایل‌ها استفاده می‌شود. برای نمونه، اگر ۲۵ قطعه افقی داشته باشید و -numberwidth مشخص نشده باشد، x در تمام فایل‌های خروجی ۲ رقمی خواهد بود؛ چپ‌ترین قطعه با '00' شماره‌گذاری می‌شود، قطعه بعدی با '01' و به همین ترتیب. با -numberwidth=3، مقدار x به‌صورت '000'، '001' و... خواهد بود.

با استفاده از گزینه -outsuffix می‌توانید پسوند نوع فایل را تغییر دهید.

پسوند نام فایل‌های خروجی را مشخص می‌کند. دستور pamdice نقطه قبل از پسوند را اضافه نمی‌کند.

مثال: -outsuffix=.pnm

حالت پیش‌فرض، پسوند مناسب با نوع تصویر است (مانند '.ppm').

این گزینه در Netpbm 11.11 (ژوئن ۲۰۲۵) اضافه شد.

تعداد ارقام شماره‌ها را در نام فایل‌های خروجی تعیین می‌کند. برای جزئیات بیشتر به توضیحات گزینه -outstem مراجعه کنید.

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

این گزینه در Netpbm 11.10 (مارس ۲۰۲۵) اضافه شد.

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

در صورت عدم تعیین این گزینه، مقدار پیش‌فرض برابر با تمام عرض تصویر ورودی خواهد بود؛ یعنی pamdice برش عمودی انجام نمی‌دهد.

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

در صورت عدم تعیین این گزینه، مقدار پیش‌فرض برابر با تمام ارتفاع تصویر ورودی خواهد بود؛ یعنی pamdice برش افقی انجام نمی‌دهد.

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

این گزینه در Netpbm 10.23 (ژوئیه ۲۰۰۴) اضافه شد.

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

این گزینه در Netpbm 10.23 (ژوئیه ۲۰۰۴) اضافه شد.

باعث می‌شود برنامه فایلی متنی شامل فهرست اسامی تمامی فایل‌های قطعات تولیدشده ایجاد کند. ترتیب اسامی به‌صورت سطری (Row-major order) است. برای نمونه،


$ pamdice -width=100 -height=100 -outstem=myimage_part -listfile=mylist.txt \
-numberwidth=3 myimage.ppm

روی یک تصویر ۲۰۰×۲۰۰ فایلی به نام mylist.txt با محتوای زیر ایجاد می‌کند:

  
    myimage_part_000_000.ppm
    myimage_part_000_001.ppm
    myimage_part_001_000.ppm
    myimage_part_001_001.ppm
    

می‌توانید این فایل فهرست را همراه با گزینه pamundice -listfile به‌جای الگوی نام فایل ورودی استفاده کنید که نیاز به هماهنگ‌سازی الگوها در فراخوانی‌های pamdice و pamundice را برطرف می‌سازد.

این گزینه در Netpbm 11.10 (مارس ۲۰۲۵) اضافه شد.

باعث می‌شود برنامه فایلی حاوی یک تصویر PAM تولید کند که موقعیت و شماره ردیف و ستون قطعات را در بر دارد. این فایل تصویری است که عرض و ارتفاع آن به‌ترتیب برابر با تعداد برش‌های افقی و عمودی است و هر چندتایی (Tuple) در آن نشان‌دهنده شماره سطر و ستون همان موقعیت است. برای نمونه، اگر pamdice تعداد ۳ برش در عرض و ۲ برش در ارتفاع تولید کند، تصویر بدین شکل خواهد بود:
(0,0) (0,1) (0,2)
(1,0) (1,1) (1,2)

عمق (Depth) این تصویر ۲، نوع چندتایی آن 'grid_coord' (نوعی که اختصاصاً برای استفاده در pamdice و pamundice تعریف شده) و بیشینه مقدار (maxval) آن ۲۵۵ است، مگر اینکه ارتفاع یا عرض بیش از ۲۵۶ باشد که در این حالت ۶۵۵۳۵ خواهد بود.

این تصویر می‌تواند به‌عنوان ورودی برای pamundice به‌ویژه پس از اعمال تغییرات روی آن بسیار مفید باشد. نمونه بارز این کاربرد، چرخاندن یا معکوس کردن (Flip) یک تصویر بزرگ است: می‌توانید تصویر را با pamdice قطعه‌قطعه کنید، سپس هر یک از قطعات تولیدشده را با pamflip معکوس نمایید، تصویر نمایه (Index Image) را نیز با pamflip معکوس کنید، و سپس با pamundice همراه با قطعات و تصویر نمایه معکوس‌شده، نسخه معکوس‌شده تصویر بزرگ اصلی را بسازید.

این گزینه در Netpbm 11.10 (مارس ۲۰۲۵) اضافه شد.

دستور pamdice را از ساخت واقعی فایل‌های تصویری قطعات معاف می‌کند. در این حالت همچنان فایل فهرست (با -listfile) و فایل نمایه (با -indexfile) تولید شده و اکثر خطاها بررسی می‌شوند.

این گزینه در Netpbm 11.10 (مارس ۲۰۲۵) اضافه شد.

اطلاعات پردازش را در خروجی خطای استاندارد (Standard Error) چاپ می‌کند.

دستور pamdice در Netpbm 9.25 (مارس ۲۰۰۲) معرفی شد.

پیش از Netpbm 10.29 (اوت ۲۰۰۵)، محدودیت ۱۰۰ قطعه در هر جهت وجود داشت و نام فایل‌های خروجی همیشه از ۲ رقم برای شماره قطعه استفاده می‌کرد.

pamundice(1), pamcut(1), pamcat(1), pgmslice(1), ppmglobe(1), pamflip(1), pnm(1), pam(1)

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

http://netpbm.sourceforge.net/doc/pamdice.html
27 May 2025 netpbm documentation