Доступно с лицензией Spatial Analyst.
Краткая информация
Группирует по сегментам сходные пикселы, у которых похожи спектральные характеристики.
Использование
Входными данными может быть любой поддерживаемый Esri растр с любой глубиной пикселов.
Параметр Индекс каналов представляет собой список из трех каналов, разделенных пробелом.
Для достижения оптимального результата, используйте вкладку Символы в свойствах набора данных для интерактивной растяжки вашего Входного растра, чтобы объекты, которые вы хотите выделить в сегмент, были отчетливо видны. Затем используйте оптимальные настройки растровой функции Растяжка для обработки вашего изображения для получения оптимального результата и укажите Выходной тип пиксела как 8 bit unsigned на вкладке Общие.
Выходной слой из ранее выполненной функции Растяжка может быть Входным растром инструмента Сегментация методом среднего сдвига.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
SegmentMeanShift(in_raster, {spectral_detail}, {spatial_detail}, {min_segment_size}, {band_indexes})
Параметр | Объяснение | Тип данных |
in_raster | Выберите набор растровых данных, который вы хотите сегментировать. Это может быть мультиспектральное или изображение в оттенках серого. | Raster Layer; Mosaic Layer |
spectral_detail (Дополнительный) | Укажите уровень важности для спектральных различий между объектами в вашем изображении. Действительные значения находятся в диапазоне от 1.0 до 20.0. Можно использовать более высокое значение, когда есть объекты, которые вы хотите классифицировать отдельно, но которые имеют схожие спектральные характеристики. При использовании малых значений создаются растры с более плавным спектром. Например, при высоком качестве спектральных данных на изображении леса вы сможете более четко увидеть разницу между разными породами деревьев. | Double |
spatial_detail (Дополнительный) | Укажите уровень важности для близости между объектами в вашем изображении. Действительные значения находятся в диапазоне от 1.0 до 20. Более высокие значения можно использовать для изображений, где интересующие вас объекты имеют малый размер и находятся близко друг к другу. При использовании малых значений создаются растры с более плавными пространственными характеристиками. Например, на снимке города можно использовать меньшее значение пространственного разрешения для асфальта, а для разделения на отдельные классы объектов зданий и дорог использовать более высокое значение. | Long |
min_segment_size (Дополнительный) | Объединяет сегменты, которые будут меньше этого размера, с наиболее подходящим соседним сегментом. Напрямую связан с минимальной единицей картографирования вашего проекта. Единицы измерения в пикселах. | Long |
band_indexes (Дополнительный) | Выберите каналы, которые вы хотите использовать для сегментирования вашего изображения, и разделите их знаками пробела. Если не указаны индексы каналов, они будут выбраны по следующим критериям:
Порядок каналов не влияет на результат. Вам нужно выбрать каналы, в которых самым лучшим образом можно увидеть разницу между интересующими вас объектами. | String |
Возвращаемое значение
Имя | Объяснение | Тип данных |
out_raster_dataset | Укажите имя и расширение выходного набора данных. Если в качестве входных данных использовалось мультиспектральное изображение, то в качестве выходных данных вы получите 8-битовое RGB-изображение. Если в качестве входных данных использовалось изображение в оттенках серого, то в качестве выходных данных вы получите 8-битовое изображение в оттенках серого. | Raster |
Пример кода
SegmentMeanShift, пример 1 (окно Python)
В данном примере создаются выходные данные с минимальным размером сегмента в 20 пикселов, и используются ближний инфракрасный, красный и зеленый каналы.
import arcpy
from arcpy.sa import *
seg_raster = SegmentMeanShift("c:/test/moncton.tif", "15", "10", "20", "4 3 2")
seg_raster.save("c:/test/moncton_seg.tif")
SegmentMeanShift, пример 2 (автономный скрипт)
В данном примере выполняется SegmentMeanShift для создания выходных данных с минимальным размером сегмента в 20 пикселов, и используются ближний инфракрасный, красный и зеленый каналы.
# Import system modules
import arcpy
from arcpy.sa import *
# Set local variables
inRaster = "c:/test/moncton.tif"
spectral_detail = "14.5"
spatial_detail = "10"
min_segment_size = "20"
band_indexes = "4 3 2"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
seg_raster = SegmentMeanShift(inRaster, spectral_detail, spatial_detail,
min_segment_size, band_indexes)
# Save the output
seg_raster.save("c:/output/moncton_seg.tif")
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst