mkbitmap(1) General Commands Manual mkbitmap(1)

mkbitmap - تبدیل تصاویر به بیت‌مپ همراه با مقیاس‌بندی و فیلترگذاری

mkbitmap [options] [filename...]

دستور mkbitmap یک تصویر را می‌خواند و یک یا چند مورد از عملیات زیر را، به همین ترتیب، روی آن اعمال می‌کند: معکوس‌سازی، فیلتر بالاگذر، مقیاس‌بندی، و آستانه‌گذاری. هر یک از این عملیات‌ها را می‌توان به‌صورت جداگانه کنترل و فعال یا غیرفعال کرد.

کاربرد اصلی mkbitmap تبدیل تصاویر رنگی یا مقیاس خاکستری به قالبی مناسب برای ورودی سایر برنامه‌ها، به‌ویژه برنامه ردیابی و برداری‌سازی potrace(1) است. این ابزار به ویژه برای تبدیل طرح‌های خطی اسکن‌شده مانند کارتون‌ها، دست‌نوشته‌ها و غیره به تصاویر دوسطحی (سیاه و سفید خالص) با تفکیک‌پذیری بالا مفید است.

می‌توان از فیلتر بالاگذر (Highpass filtering) برای اطمینان از حفظ ویژگی‌های پیش‌زمینه مانند خطوط و متون استفاده کرد، در حالی که به‌طور هم‌زمان ناهمواری‌های روشنایی پس‌زمینه جبران می‌شود. برای نرم‌کردن تصویر و حذف نویزهای بصری، می‌توان از تار کردن (Blurring) اختیاری استفاده کرد. مقیاس‌بندی (Scaling) اهمیت دارد زیرا یک تصویر اسکن‌شده در مقیاس خاکستری، جزئیات بصری بیشتری نسبت به یک تصویر دوسطحی با همان تفکیک‌پذیری دارد. با مقیاس‌بندی تصویر به تفکیک‌پذیری بالاتر (با استفاده از درون‌یابی) پیش از آستانه‌گذاری، بخشی از این جزئیات حفظ می‌شود. آستانه‌گذاری (Thresholding) به معنای تبدیل یک تصویر مقیاس خاکستری به یک تصویر دوسطحی تنها با استفاده از پیکسل‌های سیاه و سفید است. پیکسل‌هایی که تیره‌تر از یک مقدار آستانه مشخص باشند به سیاه تبدیل می‌شوند. معکوس‌سازی (Inversion) اختیاری زمانی مفید است که تصویر ورودی ویژگی‌های روشن را روی پس‌زمینه تیره نشان دهد، مانند تصویری از نقاشی با گچ روی تخته‌سیاه.

قالب‌های ورودی پشتیبانی‌شده عبارتند از PNM (شامل PBM ،PGM و PPM) و BMP. قالب‌های خروجی PBM برای تصاویر بیت‌مپ و PGM برای تصاویر مقیاس خاکستری هستند.

چاپ پیام راهنما و خروج.
چاپ اطلاعات نسخه و خروج.
چاپ اطلاعات مجوز و خروج.

اگر آرگومان‌های نام فایل داده شوند، mkbitmap به‌طور پیش‌فرض به ازای هر نام فایل ورودی مشخص‌شده، یک فایل خروجی ایجاد می‌کند. نام فایل خروجی از نام فایل ورودی با تغییر پسوند آن به «.pbm» یا «.pgm» به دست می‌آید. اگر نام فایل ورودی و خروجی یکسان باشد، پسوند اضافی «-out» به انتهای نام فایل خروجی افزوده می‌شود. اگر هیچ آرگومان نام فایلی مشخص نشود، mkbitmap مانند یک فیلتر عمل کرده، از ورودی استاندارد می‌خواند و در خروجی استاندارد می‌نویسد. می‌توان نام فایل «-» را برای تعیین خواندن از ورودی استاندارد مشخص کرد؛ در این حالت خروجی این آرگومان در خروجی استاندارد نوشته می‌شود. هر فایل ورودی می‌تواند شامل یک یا چند تصویر باشد.
نوشتن خروجی در این فایل. تمام خروجی‌ها الحاق شده و به فایل مشخص‌شده هدایت می‌شوند. این گزینه رفتار پیش‌فرض مبنی بر ساخت یک فایل خروجی به ازای هر فایل ورودی را لغو می‌کند. برای مشخص کردن نوشتن در خروجی استاندارد می‌توان نام فایل را «-» تعیین کرد.

غیرفعال کردن گزینه‌های پیش‌فرض. به‌طور معمول، گزینه‌های زیر به‌طور پیش‌فرض فعال هستند: -f 4 -s 2 -3 -t 0.45. گزینهٔ -x این پیش‌فرض‌ها را غیرفعال می‌کند؛ بنابراین، دستور mkbitmap -x کاری جز رونوشت یک تصویر مقیاس خاکستری از ورودی به خروجی انجام نمی‌دهد. پس از آن می‌توان سایر گزینه‌های پردازش را یک به یک افزود؛ برای مثال، mkbitmap -xf10 فقط فیلتر بالاگذر را اعمال می‌کند، mkbitmap -xt0.5 فقط آستانه‌گذاری انجام می‌دهد و غیره.
معکوس‌سازی تصویر ورودی. اگر این گزینه انتخاب شود، پیش از هر عملیات دیگری روی تصویر اعمال می‌شود. این گزینه برای کار با تصاویر سفید روی سیاه، مانند عکس‌های نقاشی‌های گچی روی تخته‌سیاه به کار می‌رود. توجه داشته باشید که رفتار این گزینه عموماً مشابه معکوس کردن بیت‌مپ خروجی نیست، مگر اینکه مقدار آستانه‌گذاری نیز معکوس شود.
اعمال یک فیلتر بالاگذر روی تصویر. این فیلتر تقریباً گاوسی و بدون جهت است. اثر آن حفظ جزئیات ریز و هم‌زمان جبران شیب روشنایی پس‌زمینه است. پارامتر n شعاعی (بر حسب پیکسل) است که تقریباً با اندازه جزئیاتی که باید حفظ شوند مطابقت دارد. به بیان دقیق‌تر، این فیلتر با کسر نسخه‌ای تارشده از تصویر اصلی پیاده‌سازی شده است. پارامتر n برابر با انحراف معیار تاری است. خروجی مرحله فیلتر، یک تصویر نرمال‌شده است که میانگین روشنایی آن دقیقاً 0.5 است. شعاع پیش‌فرض فیلتر 4 است.
غیرفعال کردن فیلتر بالاگذر.
تار کردن تصویر. اثر آن نرم‌کردن جزئیات ریز و کاهش نویز بصری در تصویر است. پارامتر n شعاع تاری است و باید مقدار کوچکی برای آن انتخاب شود (1 مقدار مناسبی برای شروع است). این عملیات به‌صورت یک تاری تقریباً گاوسی و بدون جهت با انحراف معیار متناسب با n پیاده‌سازی شده است. تار کردن بعد از فیلتر بالاگذر، اما قبل از مقیاس‌بندی و آستانه‌گذاری اعمال می‌شود. اگر این گزینه داده نشود، پیش‌فرض عدم اعمال هرگونه تاری است.
مقیاس‌بندی تصویر با یک ضریب عدد صحیح n>0. مقیاس‌بندی پس از فیلتر بالاگذر، اما پیش از مرحله آستانه‌گذاری انجام می‌شود. ضریب مقیاس‌بندی 1 نشان می‌دهد که هیچ مقیاس‌بندی انجام نمی‌شود. در غیر این صورت، از درون‌یابی برای پر کردن پیکسل‌های میانی استفاده می‌شود. اگر قرار است خروجی mkbitmap به‌عنوان ورودی برنامه‌های ردیابی مانند potrace استفاده شود، ضریب مقیاس‌بندی 2 توصیه می‌شود. این کار مقدار مناسبی از جزئیات را برای عملکرد خوب الگوریتم ردیابی حفظ می‌کند. اگر ضریب مقیاس‌بندی 1 استفاده شود، بخش زیادی از جزئیات از دست می‌رود. اگر ضریب مقیاس‌بندی 3 یا بالاتر به کار رود، درون‌یابی تمایل به «ابداع» جزئیاتی دارد که در تصویر اصلی وجود نداشته‌اند و در نتیجه از عملکرد مناسب potrace جلوگیری می‌کند.
-1, --linear
استفاده از درون‌یابی خطی هنگام مقیاس‌بندی به تفکیک‌پذیری بالاتر. این روش کمی سریع‌تر است، اما کیفیت کمتری نسبت به درون‌یابی مکعبی پیش‌فرض دارد.
-3, --cubic
استفاده از درون‌یابی مکعبی هنگام مقیاس‌بندی به تفکیک‌پذیری بالاتر. این حالت پیش‌فرض است. سرعت آن از درون‌یابی خطی کمتر است، اما نتایج بهتری ایجاد می‌کند.
تنظیم مقدار آستانه خاکستری برای تبدیل دوسطحی. پارامتر n یک مقدار روشنایی بین 0 برای سیاه و 1 برای سفید است. هر پیکسلی که روشنایی آن کمتر از این مقدار باشد به رنگ سیاه تبدیل خواهد شد (بنابراین، مقادیر کوچک‌تر n خروجی سفیدتری تولید می‌کنند).
غیرفعال کردن تبدیل دوسطحی. اگر این گزینه داده شود، پردازش پس از مرحله مقیاس‌بندی متوقف شده و یک تصویر مقیاس خاکستری خروجی داده می‌شود.

وضعیت خروج در صورت تکمیل موفقیت‌آمیز 0، در صورت نامعتبر بودن خط فرمان 1 و در صورت بروز هر خطای دیگری 2 است.

1.16

Peter Selinger <selinger at users.sourceforge.net>

برنامه mkbitmap به عنوان بخشی از بستهٔ potrace توزیع می‌شود و آخرین نسخه آن در http://potrace.sourceforge.net در دسترس است. این پایگاه اینترنتی همچنین حاوی مستندات و اطلاعاتی درباره نحوه دریافت پشتیبانی است.

potrace(1)

Copyright (C) 2001-2019 Peter Selinger

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) که توسط «بنیاد نرم‌افزارهای آزاد» منتشر شده است، بازتوزیع کرده یا تغییر دهید؛ چه نسخه 2 مجوز و چه (به انتخاب خودتان) هر نسخه بعدی دیگر.

این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا تناسب با یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.

شما باید به همراه این برنامه یک نسخه از مجوز عمومی همگانی گنو دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر برای بنیاد نرم‌افزارهای آزاد بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. همچنین ببینید: http://www.gnu.org

September 2019 Version 1.16