ee.Algorithms.Image.Segmentation.SNIC

SNIC (Simple Non-Iterative Clustering) tabanlı süper piksel kümeleme. Küme kimlikleri bandı ve giriş bantlarının her biri için küme başına ortalamaları verir. "Tohumlar" resmi giriş olarak sağlanmazsa çıkış, oluşturulan tohum konumlarını içeren bir "tohumlar" bandı içerir. Bkz: Achanta, Radhakrishna ve Susstrunk, Sabine, "Superpixels and Polygons using Simple Non-Iterative Clustering", CVPR, 2017.

Kullanımİadeler
ee.Algorithms.Image.Segmentation.SNIC(image, size, compactness, connectivity, neighborhoodSize, seeds)Resim
Bağımsız DeğişkenTürAyrıntılar
imageResimKümeleme için giriş resmi.
sizeTamsayı, varsayılan: 5Süper piksel başlangıç konumunun piksel cinsinden aralığı. "Başlangıç" resmi sağlandığında ızgara oluşturulmaz.
compactnessOndalık sayı, varsayılan: 1Kompaktlık faktörü. Daha büyük değerler, kümelerin daha kompakt (kare) olmasına neden olur. Bu değeri 0 olarak ayarlamak, mekansal mesafe ağırlıklandırmasını devre dışı bırakır.
connectivityTamsayı, varsayılan: 8Bağlantı'ya dokunun. 4 veya 8 olmalıdır.
neighborhoodSizeTam sayı, varsayılan: nullKaro sınırı artefaktlarını önlemek için karo komşuluğu boyutu. Varsayılan olarak 2 * boyut değerine ayarlanır.
seedsResim, varsayılan: nullSağlanırsa sıfır olmayan tüm piksel değerleri başlangıç konumları olarak kullanılır. Dokunan pikseller (bağlantı olarak belirtildiği şekilde) aynı kümeye ait kabul edilir.

Örnekler

Kod Düzenleyici (JavaScript)

// 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');

Python kurulumu

Python API'si ve etkileşimli geliştirme için geemap kullanımı hakkında bilgi edinmek üzere Python Ortamı sayfasına bakın.

import ee
import geemap.core as geemap

Colab (Python)

# 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