NEARBLACK(1) GDAL NEARBLACK(1)

nearblack - تبدیل حاشیه‌های تقریباً سیاه یا سفید به سیاه یا سفید خالص

Usage: nearblack [--help] [--long-usage] [--help-general]
                 [-of <output_format>] [--quiet] [-co <NAME>=<VALUE>]...
                 [-o <output_file>]
                 [[-white]|[-color <c1,c2,c3...cn>]...]
                 [-nb <non_black_pixels>] [-near <dist>] [-setalpha] [-setmask]
                 [-alg floodfill|twopasses]
                 <input_file>

این ابزار یک تصویر را پیمایش کرده و تلاش می‌کند تمام پیکسل‌هایی را که تقریباً یا دقیقاً سیاه، سفید یا یک یا چند رنگ سفارشی در اطراف حاشیه (طوقه) تصویر هستند، به سیاه یا سفید تبدیل کند. این کار معمولاً برای «اصلاح» عکس‌های هوایی فشرده‌شده با اتلاف استفاده می‌شود تا بتوان پیکسل‌های رنگی حاشیه را هنگام موزاییک‌سازی شفاف در نظر گرفت. اگر هیچ‌یک از باندهای آلفا یا ماسک تعیین نشده باشند، فرمت خروجی باید از فشرده‌سازی بدون اتلاف استفاده کند.

نکته:

معادل در رابط خط فرمان جدید "gdal":

دستور gdal raster clean-collar را ببینید.

نمایش این پیام راهنما و خروج.
--help-general
نمایش پیام خلاصه نحوه استفاده برای گزینه‌های عمومی خط فرمان GDAL و خروج.
عدم نمایش پیام‌های پیشرفت و سایر خروجی‌های غیرخطا.
نام فایل خروجی که باید ایجاد شود.
انتخاب فرمت خروجی. در صورت عدم تعیین، فرمت از روی پسوند حدس زده می‌شود. از نام کوتاه فرمت استفاده کنید (برای مثال GTiff برای GeoTIFF).
ارسال یک گزینه ساخت (creation option) به درایور فرمت خروجی. چندین گزینه -co را می‌توان مشخص کرد. برای گزینه‌های مجاز ساخت در هر فرمت، مستندات اختصاصی فرمت در Raster drivers را ببینید.

تنها هنگام ایجاد یک فایل جدید معتبر است.

جستجو برای پیکسل‌های تقریباً سفید (255) به جای پیکسل‌های تقریباً سیاه.
جستجو برای پیکسل‌های نزدیک به رنگ مشخص‌شده. می‌تواند چندین بار تعیین شود. هنگامی که -color مشخص شود، پیکسل‌هایی که به عنوان حاشیه در نظر گرفته شوند روی 0 تنظیم می‌شوند.
مشخص می‌کند که مقادیر پیکسل چقدر می‌توانند از سیاه، سفید یا رنگ‌های سفارشی فاصله داشته باشند و همچنان نزدیک به سیاه، سفید یا رنگ سفارشی در نظر گرفته شوند. مقدار پیش‌فرض 15 است.
تعداد پیکسل‌های متوالی غیرسیاه که می‌توان قبل از صرف‌نظر کردن از جستجو به سمت داخل با آن‌ها مواجه شد. مقدار پیش‌فرض 2 است.
اگر فایل خروجی مشخص شده باشد و فایل ورودی ۳ باند داشته باشد، یک باند آلفا اضافه می‌کند؛ یا اگر فایل خروجی مشخص شده باشد و فایل ورودی ۴ باند داشته باشد، باند آلفای فایل خروجی را تنظیم می‌کند؛ یا اگر فایل ورودی ۴ باند داشته باشد و فایل خروجی مشخص نشده باشد، باند آلفای فایل ورودی را تنظیم می‌کند. باند آلفا در حاشیه تصویر روی 0 و در سایر نقاط روی 255 تنظیم می‌شود.
یک باند ماسک به فایل خروجی اضافه می‌کند؛ یا اگر فایل ورودی هنوز باند ماسک نداشته باشد و فایل خروجی مشخص نشده باشد، یک باند ماسک به فایل ورودی اضافه می‌کند. باند ماسک در حاشیه تصویر روی 0 و در سایر نقاط روی 255 تنظیم می‌شود.
افزوده شده در نسخه 3.8.

انتخاب الگوریتم مورد استفاده.

گزینه twopasses از یک گذر بالا به پایین و سپس یک گذر پایین به بالا استفاده می‌کند. این تنها الگوریتمی است که قبل از نسخه GDAL 3.8 پیاده‌سازی شده بود. ممکن است در نواحی مقعر بخش‌هایی را نادیده بگیرد. الگوریتم، تصویر را در هر مرحله یک خط پویش پردازش می‌کند. یک پویش به سمت «داخل» از هر طرف انجام می‌شود و پیکسل‌ها را تا زمانی که حداقل با تعداد "non_black_pixels" پیکسل با فاصله خاکستری بیش از "dist" از سیاه، سفید یا رنگ‌های سفارشی مواجه شود روی سیاه یا سفید تنظیم می‌کند و در آن نقطه پویش متوقف می‌شود. پیکسل‌های تقریباً سیاه، سفید یا رنگ‌های سفارشی روی سیاه یا سفید تنظیم می‌شوند. الگوریتم همچنین از بالا به پایین و از پایین به بالا پویش می‌کند تا فرورفتگی‌ها را در بالا یا پایین شناسایی کند.

گزینه floodfill (افزوده شده در GDAL 3.8) از الگوریتم Flood Fill استفاده می‌کند و با نواحی مقعر به خوبی کار خواهد کرد. این روش نیاز به ایجاد یک مجموعه داده موقت دارد و نسبت به twopasses کندتر است. هنگامی که یک مقدار غیرصفر برای -nb استفاده شود، twopasses در واقع به عنوان مرحله اولیه floodfill فراخوانی می‌شود.

<infile>
فایل ورودی. هر فرمت پشتیبانی‌شده توسط GDAL، با هر تعداد باند، معمولاً باندهای بایتی 8 بیتی.

تمام پردازش‌ها به صورت ۸ بیتی (بایتی) انجام می‌شود.

اگر فایل خروجی تعیین نشود، نتایج پردازش‌شده در فایل ورودی بازنویسی خواهند شد؛ بنابراین فایل ورودی باید از قابلیت به‌روزرسانی (update) پشتیبانی کند.

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

این ابزار همچنین از طریق زبان C با تابع GDALNearblack() قابل فراخوانی است.

Frank Warmerdam <warmerdam@pobox.com>

1998-2026

August 18, 2026