| GDAL-RASTER-COLOR-BLEND(1) | GDAL | GDAL-RASTER-COLOR-BLEND(1) |
نام (NAME)
gdal-raster-color-blend - استفاده از یک رستر مقیاس خاکستری برای جایگزینی شدت نور در مجموعه دادههای RGB/RGBA
در نسخه 3.12 اضافه شد.
خلاصه دستور (SYNOPSIS)
کاربرد: gdal raster blend [گزینهها] <COLOR-INPUT> <OVERLAY> <OUTPUT>
آمیختگی/ترکیب دو مجموعه داده رستر
آرگومانهای موضعی:
-i, --color-input, --input <COLOR-INPUT> مجموعه داده رستر ورودی [الزامی] [در خطوط لوله در دسترس نیست]
--overlay <OVERLAY> مجموعه داده لایه رویی [الزامی]
-o, --output <OUTPUT> مجموعه داده رستر خروجی [الزامی] [در خطوط لوله در دسترس نیست]
گزینههای عمومی:
-h, --help نمایش پیام راهنما و خروج
--json-usage نمایش شیوه استفاده به صورت سند JSON و خروج
--config <KEY>=<VALUE> گزینه پیکربندی [تکرارپذیر]
-q, --quiet حالت بیصدا (عدم نمایش نوار پیشرفت یا پیامهای هشدار) [در خطوط لوله در دسترس نیست]
گزینهها:
-f, --of, --format, --output-format <OUTPUT-FORMAT> قالب خروجی (مقدار "GDALG" مجاز است) [در خطوط لوله در دسترس نیست]
--co, --creation-option <KEY>=<VALUE> گزینه ایجاد [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--overwrite آیا رونویسی روی مجموعه داده خروجی موجود مجاز است [در خطوط لوله در دسترس نیست]
ناسازگار با --append
--append افزودن به عنوان زیرمجموعهداده به خروجی موجود [در خطوط لوله در دسترس نیست]
ناسازگار با --overwrite
--operator <OPERATOR> عملگر ترکیب. OPERATOR=src-over|hsv-value|multiply|screen|overlay|hard-light|darken|lighten|color-dodge|color-burn (پیشفرض: src-over)
--opacity <OPACITY> درصد کدر بودن برای اعمال روی مجموعه داده رویی (0=کاملاً شفاف، 100=استفاده کامل از کدری لایه رویی) (پیشفرض: 100)
گزینههای پیشرفته:
--if, --input-format <INPUT-FORMAT> قالبهای ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--oo, --open-option <KEY>=<VALUE> گزینههای باز کردن [تکرارپذیر] [در خطوط لوله در دسترس نیست]
توضیحات (DESCRIPTION)
دستور gdal raster blend به کاربر امکان میدهد دو مجموعه داده رستر (با اندازه یکسان) را با استفاده از یک عملیات آمیختگی انتخابی و یک تنظیمات کدر بودن (شفافیت) ترکیب کند.
این قابلیت میتواند به عنوان مثال برای رنگآمیزی یک رستر سایهروشن پستیبلندیها (hillshade) تولید شده توسط gdal raster hillshade با استفاده از یک رندرینگ ارتفاعسنجی (هیپسومتریک) از مدل رقومی ارتفاع (DEM) تولید شده توسط gdal raster color-map در هنگام استفاده از عملگر آمیختگی hsv-value استفاده شود.
عملگر استانداردتر آمیختگی src-over که «آمیختگی آلفا» (alpha blending) را انجام میدهد نیز در دسترس است.
این زیردستور همچنین به عنوان یک مرحله بالقوه از gdal raster pipeline در دسترس است.
خروجی GDALG (مجموعه داده درجا / جریانی)
این برنامه از سریالسازی خط فرمان به عنوان یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی میکند. سپس فایل حاصل میتواند با استفاده از درایور GDALG: GDAL Streamed Algorithm به عنوان یک مجموعه داده رستر باز شود و خط لوله مشخصشده را به صورت درجا (on-the-fly) یا جریانی (streamed) اعمال کند.
گزینههای اختصاصی برنامه (PROGRAM-SPECIFIC OPTIONS)
- --input <INPUT>
- نام مجموعه
دادهای که
مجموعه
داده رویی
در آن ترکیب
و آمیخته
میشود.
الزامی است.
هنگام استفاده از عملگر آمیختگی hsv-value، این باید یک رستر بایت (Byte) سهبانده یا چهاربانده باشد.
- --opacity <OPACITY>
- میزان کدر بودن (Opacity) برای استفاده در آمیختگی مجموعه داده رویی، به صورت درصدی بین 0 تا 100. مقدار 0 بدین معنی است که مجموعه داده رویی کاملاً شفاف در نظر گرفته میشود. مقدار 100 بدین معنی است که مجموعه داده رویی در حداکثر کانال آلفای خود آمیخته میشود. پیشفرض 100 است.
- --operator src-over|hsv-value|multiply|screen|overlay|hard-light|lighten|darken
- انتخاب
عملگر
آمیختگی،
که مشخص
میکند
مجموعه
داده رویی
چگونه با
مجموعه
داده ورودی
ترکیب شود.
مقدار
پیشفرض src-over
است.
برای جزئیات بیشتر درباره هر عملگر، بخش جزئیات عملیاتهای آمیختگی را در ادامه ببینید.
- --overlay <OVERLAY>
- نام مجموعه داده رویی (اورلی). الزامی است.
گزینههای استاندارد (STANDARD OPTIONS)
- --append
- افزودن رستر ورودی به عنوان یک زیرمجموعهداده (subdataset) جدید به یک فایل خروجی موجود. تنها با درایورهایی کار میکند که از افزودن زیرمجموعهدادهها پشتیبانی میکنند مانند GTiff -- GeoTIFF File Format و GPKG -- GeoPackage raster. اگر مجموعه داده خروجی هنوز وجود نداشته باشد، آن را نیز ایجاد میکند.
- --co, --creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ایجاد
دارند که
میتوان از
آنها برای
کنترل
ویژگیهای
دقیق فایل
ایجادشده
استفاده
کرد. به
عنوان
مثال،
درایور GeoTIFF از
گزینههای
ایجاد برای
کنترل
فشردهسازی
و
کاشیبندی
شدن فایل
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای ایجاد موجود بسته به درایور قالب متفاوت است و برخی قالبهای ساده هیچ گزینه ایجادی ندارند. فهرستی از گزینههای پشتیبانیشده برای هر قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات خود قالب، منبع قطعی اطلاعات درباره گزینههای ایجاد درایور است. برای گزینههای ایجاد معتبر هر قالب، به مستندات ویژه قالب در Raster drivers مراجعه کنید.
- --if, --input-format <format>
- نام
قالب/درایوری
که باید
برای باز
کردن
فایل(های)
ورودی
امتحان شود.
به طور کلی
نیازی به
تعیین آن
نیست، اما
میتوان از
آن برای
چشمپوشی
از تشخیص
خودکار
درایور در
مواردی که
در انتخاب
درایور
مناسب
ناموفق است
استفاده
کرد. این
گزینه
میتواند
چندین بار
تکرار شود
تا چند
درایور
کاندید
مشخص شوند.
توجه داشته
باشید که
این گزینه
آن
درایورها
را وادار به
باز کردن
مجموعه
داده
نمیکند. به
ویژه، برخی
درایورها
الزاماتی
روی پسوند
فایل دارند.
میتواند تکرار شود.
- --oo, --open-option <NAME>=<VALUE>
- گزینه باز
کردن
مجموعه
داده (ویژه
قالب).
میتواند تکرار شود.
- -f, --of, --format, --output-format <OUTPUT-FORMAT>
- تعیین قالب رستر خروجی برای استفاده. مقادیر مجاز را میتوان با دستور زیر به دست آورد: gdal --formats | grep raster | grep rw | sort
- --overwrite
- به برنامه اجازه میدهد تا در صورت وجود فایل یا مجموعه داده مقصد، آن را بازنویسی کند. در غیر این صورت، به طور پیشفرض، اگر فایل یا مجموعه داده مقصد از قبل وجود داشته باشد، gdal با خطا متوقف میشود.
جزئیات عملیاتهای آمیختگی (DETAILS OF BLENDING OPERATIONS)
در توصیف عملیاتهای آمیختگی، تمام مقادیر به بازه [0,1] نرمالسازی شدهاند و مقدار هر کانال از پیش در مقدار کانال آلفا ضرب شده است (premultiplied).
علائم و نمادهای زیر استفاده شدهاند:
- نماد overlay_{C} مقدار یکی از مؤلفههای قرمز، سبز یا آبی مجموعه داده رویی است،
- نماد overlay_{A} مقدار مؤلفه آلفای مجموعه داده رویی ضربشده در --opacity است،
- نماد input_{C} مقدار مؤلفه متناظر مجموعه داده ورودی است،
- نماد input_{A} مقدار مؤلفه آلفای مجموعه داده ورودی است،
- نماد output_{C} مؤلفه حاصل در مجموعه داده خروجی است،
- نماد opacity مقدار --opacity است.
نکته:
برای تمام عملگرها (مگر در مواردی که خلاف آن مشخص شده باشد) کانال آلفا به صورت زیر محاسبه میشود:
output_{A} = overlay_{A} + input_{A} - overlay_{A} * input_{A}
عملگرهای آمیختگی زیر در دسترس هستند:
نمای کلی عملگرهای آمیختگی رستر (OVERVIEW OF RASTER BLEND OPERATORS)
| عملگر | توضیحات | مثال |
| src-over | آمیختگی آلفای استاندارد (ترکیب لایه رویی روی ورودی) | [تصویر: نمونه آمیختگی src-over] [تصویر] |
| hsv-value | استفاده از مقدار روشنایی (Value) از لایه رویی و فام/اشباع (Hue/Saturation) از ورودی | [تصویر: نمونه آمیختگی hsv-value] [تصویر] |
| multiply | ضرب رنگهای ورودی و لایه رویی | [تصویر: نمونه آمیختگی multiply] [تصویر] |
| screen | متمم کردن و سپس ضرب رنگها | [تصویر: نمونه آمیختگی screen] [تصویر] |
| overlay | ترکیب حالتهای ضرب (Multiply) و غربال (Screen) | [تصویر: نمونه آمیختگی overlay] [تصویر] |
| hard-light | ضرب یا غربال بسته به روشنایی لایه رویی | [تصویر: نمونه آمیختگی hard-light] [تصویر] |
| darken | نگهداشتن حداقل مؤلفههای ورودی و لایه رویی | [تصویر: نمونه آمیختگی darken] [تصویر] |
| lighten | نگهداشتن حداکثر مؤلفههای ورودی و لایه رویی | [تصویر: نمونه آمیختگی lighten] [تصویر] |
| color-dodge | روشنتر کردن ورودی بر اساس لایه رویی | [تصویر: نمونه آمیختگی color-dodge] [تصویر] |
| color-burn | تیرهتر کردن ورودی بر اساس لایه رویی | [تصویر: نمونه آمیختگی color-burn] [تصویر] |
- •
- عملگر src-over آمیختگی آلفای استاندارد را با ترکیب مجموعه داده رویی بر روی مجموعه داده ورودی انجام میدهد.
-
فرمول زیر برای هر یک از مؤلفههای قرمز، سبز و آبی اعمال میشود:
output_{C} * output_{A} = (overlay_{C} * overlay_{A} * opacity) + (input_{C} * input_{A} * (1 - overlay_{A} * opacity))
- •
- عملگر hsv-value رنگی با مقدار روشنایی (Value) لایه رویی و فام (Hue) و اشباع (Saturation) ورودی ایجاد میکند. این عملگر مراحل زیر را انجام میدهد:
- خواندن مؤلفههای RGB (قرمز، سبز، آبی) مجموعه داده ورودی
- تبدیل مؤلفههای RGB به فضای رنگی HSV (فام، اشباع، روشنایی)
- محاسبه مقدار خروجی output_{V} با استفاده از فرمول زیر:
output_{V} = (overlay_{V} * overlay_{A} * opacity) + (input_{V} * (1 -
overlay_{A} * opacity))
اگر مجموعه داده رویی یک مجموعه داده RGB/RGBA باشد، مقدار overlay_{V} برابر با max(overlay_{R},overlay_{G},overlay_{B}) خواهد بود.
- •
- تبدیل مجدد (فام، اشباع، :math:output_{V}) به RGB.
اگر کانال آلفای مجموعه داده ورودی وجود داشته باشد، بدون تغییر حفظ میشود.
- •
- عملگر multiply رنگهای ورودی و لایه رویی را در هم ضرب میکند.
- رنگ حاصل
همواره
دستکم به
اندازه یکی
از دو رنگ
تشکیلدهنده
تیره است.
فرمول زیر برای هر یک از مؤلفههای قرمز، سبز و آبی اعمال میشود:
output_{C} = overlay_{C} * input_{C} + input_{C} * (1 - overlay_{A}) + overlay_{C} * (1 - input_{A})
- •
- عملگر screen: ورودی و لایه رویی متمم شده و سپس در هم ضرب میشوند. رنگ حاصل همواره دستکم به اندازه یکی از دو رنگ تشکیلدهنده روشن است. غربال کردن هر رنگی با رنگ سفید، رنگ سفید تولید میکند. غربال کردن هر رنگی با رنگ سیاه، رنگ اصلی را بدون تغییر باقی میگذارد.
output_{C} = overlay_{C} + input_{C} - overlay_{C} * input_{C}
- •
- عملگر overlay: این عملگر حالتهای آمیختگی Multiply (ضرب) و Screen (غربال) را با نصف قدرت ترکیب میکند. بخشهایی از لایه رویی که در آنها لایه ورودی روشن است روشنتر میشوند و بخشهایی که در آنها لایه ورودی تیره است تیرهتر میشوند. نواحی که لایه رویی خاکستری میانه است بدون تغییر باقی میمانند.
اگر مؤلفه ورودی کمتر از 0.5 باشد (تیره):
output_{C} = 2 * overlay_{C} * input_{C} + input_{C} * (1 - overlay_{A}) +
overlay_{C} * (1 - input_{A})
اگر مؤلفه ورودی بزرگتر یا مساوی 0.5 باشد (روشن):
output_{C} = overlay_{A} * input_{A} - 2 * (input_{A} - input_{C}) *
(overlay_{A} - overlay_{C}) + input_{C} * (1 - overlay_{A}) + overlay_{C} *
(1 - input_{A})
- •
- عملگر hard-light: لایه رویی بسته به مقدار رنگ لایه رویی، برای ضرب یا غربال ورودی استفاده میشود. اگر مقدار رنگ لایه رویی روشنتر از خاکستری 50% باشد، ورودی غربال میشود، در غیر این صورت ضرب میشود. این ویژگی برای افزودن هایلایتها یا سایهها به یک تصویر مفید است. پیادهسازی آن مشابه overlay است اما نقش ورودی و لایه رویی با یکدیگر جابهجا شده است.
اگر مؤلفه لایه رویی کمتر از 0.5 باشد (تیره):
output_{C} = overlay_{A} * input_{A} - 2 * (input_{A} - input_{C}) *
(overlay_{A} - overlay_{C}) + input_{C} * (1 - overlay_{A}) + overlay_{C} *
(1 - input_{A})
اگر مؤلفه لایه رویی بزرگتر یا مساوی 0.5 باشد (روشن):
output_{C} = 2 * overlay_{C} * input_{C} + input_{C} * (1 - overlay_{A}) +
overlay_{C} * (1 - input_{A})
- •
- عملگر darken: تصویری ایجاد میکند که کوچکترین مؤلفههای پیکسلهای ورودی و لایه رویی را حفظ میکند. اگر پیکسل لایه رویی دارای مؤلفههای r1، g1 و b1 باشد و پیکسل ورودی دارای r2، g2 و b2 باشد، پیکسل حاصل [min(r1,r2), min(g1,g2), min(b1,b2)] خواهد بود.
output_{C} = min(overlay_{C}, input_{C}) + input_{C} * (1 - overlay_{A}) +
overlay_{C} * (1 - input_{A})
- •
- عملگر lighten: این عملگر عکس عمل Darken عمل میکند. حداکثر مقدار هر مؤلفه را از میان پیکسلهای لایه رویی و ورودی انتخاب میکند. اگر پیکسل لایه رویی دارای مؤلفههای r1، g1 و b1 باشد و پیکسل ورودی دارای r2، g2 و b2 باشد، پیکسل حاصل [max(r1,r2), max(g1,g2), max(b1,b2)] خواهد بود.
output_{C} = max(overlay_{C}, input_{C}) + input_{C} * (1 - overlay_{A}) +
overlay_{C} * (1 - input_{A})
- •
- عملگر color-dodge: لایه ورودی را بر لایه رویی معکوسشده تقسیم میکند. این کار لایه ورودی را بسته به مقدار لایه رویی روشنتر میکند: هر چه لایه رویی روشنتر باشد، رنگ آن تأثیر بیشتری بر لایه ورودی میگذارد. آمیختگی هر رنگی با رنگ سفید منجر به رنگ سفید میشود. آمیختگی با رنگ سیاه تصویر را تغییر نمیدهد.
اگر مقدار overlay_{C} * input_{A} بزرگتر یا مساوی overlay_{A} * input_{A} باشد:
output_{C} = overlay_{A} * input_{A} + input_{C} * (1 - overlay_{A}) +
overlay_{C} * (1 - input_{A})
اگر مقدار overlay_{C} * input_{A} کمتر از overlay_{A} * input_{A} باشد:
output_{C} = input_{C} * overlay_{A} / (1 - overlay_{C} / overlay_{A}) +
overlay_{C} * (1 - input_{A}) + input_{C} * (1 - overlay_{A})
- •
- عملگر color-burn: لایه ورودی معکوسشده را بر لایه رویی تقسیم کرده و سپس نتیجه را معکوس میکند. این کار لایه رویی را تیره کرده و کنتراست را برای انعکاس رنگ لایه ورودی افزایش میدهد. هرچه لایه ورودی تیرهتر باشد، رنگ آن بیشتر استفاده میشود.
اگر مقدار overlay_{C} * input_{A} بزرگتر یا مساوی overlay_{A} * input_{A} باشد:
output_{C} = overlay_{A} * input_{A} + input_{C} * (1 - overlay_{A}) +
overlay_{C} * (1 - input_{A})
اگر مقدار overlay_{C} * input_{A} کمتر از overlay_{A} * input_{A} باشد:
output_{C} = input_{C} * overlay_{A} / (1 - overlay_{C} / overlay_{A}) +
overlay_{C} * (1 - input_{A}) + input_{C} * (1 - overlay_{A})
کد وضعیت خروجی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقدار غیرصفر برمیگرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر میشوند، به عنوان اجرای موفق در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال ۱: آمیختگی آلفای دو مجموعه داده با استفاده از کدر بودن ۷۵٪ برای مجموعه داده رویی.
$ gdal raster blend --opacity 75 source.tif overlay.tif out.tif
مثال ۲: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی hsv-value.
[تصویر: رندرینگ سایهروشن پستیبلندی از DEM] [تصویر] [تصویر: رندرینگ ارتفاعسنجی از DEM] [تصویر]
$ gdal raster blend --overlay=hillshade.tif --operator=hsv-value \
hypsometric.tif hypsometric_combined_with_hillshade.tif
مثال ۳: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی multiply.
$ gdal raster blend --overlay=hillshade.tif --operator=multiply \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
مثال ۴: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی screen.
$ gdal raster blend --overlay=hillshade.tif --operator=screen \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
مثال ۵: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی overlay.
$ gdal raster blend --overlay=hillshade.tif --operator=overlay \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
مثال ۶: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی hard-light.
$ gdal raster blend --overlay=hillshade.tif --operator=hard-light \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
مثال ۷: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی darken.
$ gdal raster blend --overlay=hillshade.tif --operator=darken \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
مثال ۸: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی lighten.
$ gdal raster blend --overlay=hillshade.tif --operator=lighten \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
مثال ۹: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی color-dodge.
$ gdal raster blend --overlay=hillshade.tif --operator=color-dodge \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
مثال ۱۰: ترکیب یک رندرینگ سایهروشن پستیبلندی و ارتفاعسنجی از یک DEM در یک رستر سایهروشن رنگی با استفاده از عملگر آمیختگی color-burn.
$ gdal raster blend --overlay=hillshade.tif --operator=color-burn \
hypsometric.tif hypsometric_combined_with_hillshade.tif
[تصویر: سایهروشن پستیبلندی رنگآمیزیشده] [تصویر]
نویسنده (AUTHOR)
Even Rouault <even.rouault@spatialys.com>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |