ee.Algorithms.Image.Segmentation.SNIC

خوشه‌بندی سوپرپیکسل بر اساس SNIC (خوشه‌بندی ساده غیرتکراری). خروجی شامل یک باند از شناسه‌های خوشه و میانگین‌های هر خوشه برای هر یک از باندهای ورودی است. اگر تصویر «seeds» به عنوان ورودی ارائه نشود، خروجی شامل یک باند «seeds» خواهد بود که شامل مکان‌های seed تولید شده است.

رجوع کنید به: آچانتا، راداکریشنا و ساسترانک، سابین، «ابرپیکسل‌ها و چندضلعی‌ها با استفاده از خوشه‌بندی ساده غیرتکراری»، CVPR، ۲۰۱۷.

کاربرد بازگشت‌ها
ee.Algorithms.Image.Segmentation.SNIC(image, size , compactness , connectivity , neighborhoodSize , seeds ) تصویر
استدلال نوع جزئیات
image تصویر تصویر ورودی برای خوشه‌بندی.
size عدد صحیح، پیش‌فرض: ۵ فاصله مکان دانه‌های سوپرپیکسل، بر حسب پیکسل. اگر تصویر «دانه‌ها» ارائه شود، هیچ شبکه‌ای تولید نمی‌شود.
compactness شناور، پیش‌فرض: ۱ ضریب فشردگی. مقادیر بزرگتر باعث می‌شوند خوشه‌ها فشرده‌تر (مربعی) شوند. تنظیم این مقدار روی ۰، وزن‌دهی فاصله مکانی را غیرفعال می‌کند.
connectivity عدد صحیح، پیش‌فرض: ۸ اتصال. یا ۴ یا ۸.
neighborhoodSize عدد صحیح، پیش‌فرض: تهی اندازه همسایگی کاشی (برای جلوگیری از مصنوعات مرزی کاشی). به طور پیش‌فرض روی اندازه ۲ * تنظیم شده است.
seeds تصویر، پیش‌فرض: تهی در صورت وجود، هر پیکسل با مقدار غیر صفر به عنوان مکان‌های اولیه استفاده می‌شود. پیکسل‌هایی که با هم تماس دارند (مطابق با «اتصال» مشخص شده) متعلق به یک خوشه در نظر گرفته می‌شوند.

مثال‌ها

ویرایشگر کد (جاوااسکریپت)

// Note that the compactness and size parameters can have a significant impact
// on the result. They must be adjusted to meet image-specific characteristics
// and patterns, typically through trial. Pixel scale (map zoom level) is also
// important to consider. When exploring interactively through map tile
// visualization, the segmentation result it dependent on zoom level. If you
// need to evaluate the result at a specific scale, call .reproject() on the
// result, but do so with caution because it overrides the default scaling
// behavior that makes tile computation fast and efficient.


// Load a NAIP image for a neighborhood in Las Vegas.
var naip = ee.Image('USDA/NAIP/DOQQ/m_3611554_sw_11_1_20170613');

// Apply the SNIC algorithm to the image.
var snic = ee.Algorithms.Image.Segmentation.SNIC({
  image: naip,
  size: 30,
  compactness: 0.1,
  connectivity: 8,
});

// Display the original NAIP image as RGB.
// Lock map zoom to maintain the desired scale of the segmentation computation.
Map.setLocked(false, 18, 18);
Map.setCenter(-115.32053, 36.182016, 18);
Map.addLayer(naip, null, 'NAIP RGB');

// Display the clusters.
Map.addLayer(snic.randomVisualizer(), null, 'Clusters');

// Display the RGB cluster means.
var visParams = {
  bands: ['R_mean', 'G_mean', 'B_mean'],
  min: 0,
  max: 255
};
Map.addLayer(snic, visParams, 'RGB cluster means');

تنظیمات پایتون

برای اطلاعات بیشتر در مورد API پایتون و استفاده از geemap برای توسعه تعاملی، به صفحه محیط پایتون مراجعه کنید.

import ee
import geemap.core as geemap

کولب (پایتون)

# Note that the compactness and size parameters can have a significant impact
# on the result. They must be adjusted to meet image-specific characteristics
# and patterns, typically through trial. Pixel scale (map zoom level) is also
# important to consider. When exploring interactively through map tile
# visualization, the segmentation result it dependent on zoom level. If you
# need to evaluate the result at a specific scale, call .reproject() on the
# result, but do so with caution because it overrides the default scaling
# behavior that makes tile computation fast and efficient.


# Load a NAIP image for a neighborhood in Las Vegas.
naip = ee.Image('USDA/NAIP/DOQQ/m_3611554_sw_11_1_20170613')

# Apply the SNIC algorithm to the image.
snic = ee.Algorithms.Image.Segmentation.SNIC(
    image=naip, size=30, compactness=0.1, connectivity=8
)

# Display the original NAIP image as RGB.
m = geemap.Map()
m.set_center(-115.32053, 36.182016, 18)
m.add_layer(naip, None, 'NAIP RGB')

# Display the clusters.
m.add_layer(snic.randomVisualizer(), None, 'Clusters')

# Display the RGB cluster means.
vis_params = {'bands': ['R_mean', 'G_mean', 'B_mean'], 'min': 0, 'max': 255}
m.add_layer(snic, vis_params, 'RGB cluster means')
m