ee.Algorithms.Image.Segmentation.SNIC
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
การจัดกลุ่ม Superpixel ตาม SNIC (การจัดกลุ่มแบบไม่วนซ้ำอย่างง่าย) เอาต์พุตเป็นแถบของรหัสคลัสเตอร์และค่าเฉลี่ยต่อคลัสเตอร์สำหรับแต่ละแถบอินพุต หากไม่ได้ระบุรูปภาพ "เมล็ด" เป็นอินพุต เอาต์พุตจะมีแถบ "เมล็ด" ที่มีตำแหน่งเมล็ดที่สร้างขึ้น ดู Achanta, Radhakrishna และ Susstrunk, Sabine, "Superpixels and Polygons using Simple Non-Iterative Clustering", CVPR, 2017
การใช้งาน | การคืนสินค้า |
---|
ee.Algorithms.Image.Segmentation.SNIC(image, size, compactness, connectivity, neighborhoodSize, seeds) | รูปภาพ |
อาร์กิวเมนต์ | ประเภท | รายละเอียด |
---|
image | รูปภาพ | รูปภาพอินพุตสำหรับการจัดกลุ่ม |
size | จำนวนเต็ม ค่าเริ่มต้น: 5 | ระยะห่างของตำแหน่งเริ่มต้นของ Superpixel ในหน่วยพิกเซล หากระบุรูปภาพ "เริ่มต้น" ระบบจะไม่สร้างตาราง |
compactness | Float, ค่าเริ่มต้น: 1 | ปัจจัยความกระชับ ค่ายิ่งมาก คลัสเตอร์ก็จะยิ่งกะทัดรัด (สี่เหลี่ยมจัตุรัส) การตั้งค่านี้เป็น 0 จะปิดใช้การให้น้ำหนักตามระยะทางเชิงพื้นที่ |
connectivity | จำนวนเต็ม ค่าเริ่มต้น: 8 | การเชื่อมต่อ 4 หรือ 8 |
neighborhoodSize | จำนวนเต็ม ค่าเริ่มต้น: null | ขนาดพื้นที่ใกล้เคียงของไทล์ (เพื่อหลีกเลี่ยงอาร์ติแฟกต์ขอบเขตของไทล์) ค่าเริ่มต้นคือ 2 * ขนาด |
seeds | รูปภาพ (ค่าเริ่มต้น): null | หากระบุไว้ ระบบจะใช้พิกเซลที่มีค่าที่ไม่ใช่ 0 เป็นตำแหน่งเริ่มต้น พิกเซลที่สัมผัสกัน (ตามที่ระบุโดย "การเชื่อมต่อ") จะถือว่าอยู่ในคลัสเตอร์เดียวกัน |
ตัวอย่าง
โปรแกรมแก้ไขโค้ด (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
ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap
เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้า
สภาพแวดล้อม Python
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
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[null,null,["อัปเดตล่าสุด 2025-07-26 UTC"],[[["\u003cp\u003eApplies the Simple Non-Iterative Clustering (SNIC) algorithm to generate superpixels from an image.\u003c/p\u003e\n"],["\u003cp\u003eOutputs an image containing cluster IDs and per-cluster band averages.\u003c/p\u003e\n"],["\u003cp\u003eAlgorithm parameters like \u003ccode\u003esize\u003c/code\u003e and \u003ccode\u003ecompactness\u003c/code\u003e impact the resulting superpixel shapes and sizes and may require adjustments.\u003c/p\u003e\n"],["\u003cp\u003eIf no seed locations are provided, the algorithm generates them based on a grid defined by the \u003ccode\u003esize\u003c/code\u003e parameter.\u003c/p\u003e\n"],["\u003cp\u003eSuperpixel clustering is sensitive to pixel scale and zoom level during interactive visualization.\u003c/p\u003e\n"]]],["SNIC clustering segments an image into superpixels, outputting cluster IDs and per-cluster averages for each input band. Key parameters include `size` (seed spacing), `compactness` (cluster shape), and `connectivity`. A user can provide `seeds` to define seed locations; otherwise, they are generated. The output `Image` includes cluster IDs, band averages, and optionally generated seed locations. Adjusting `size` and `compactness` is crucial for optimal results, which are also affected by pixel scale.\n"],null,["# ee.Algorithms.Image.Segmentation.SNIC\n\nSuperpixel clustering based on SNIC (Simple Non-Iterative Clustering). Outputs a band of cluster IDs and the per-cluster averages for each of the input bands. If the 'seeds' image isn't provided as input, the output will include a 'seeds' band containing the generated seed locations. See: Achanta, Radhakrishna and Susstrunk, Sabine, 'Superpixels and Polygons using Simple Non-Iterative Clustering', CVPR, 2017.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------------------------------------------------------------------------------------|---------|\n| `ee.Algorithms.Image.Segmentation.SNIC(image, `*size* `, `*compactness* `, `*connectivity* `, `*neighborhoodSize* `, `*seeds*`)` | Image |\n\n| Argument | Type | Details |\n|--------------------|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `image` | Image | The input image for clustering. |\n| `size` | Integer, default: 5 | The superpixel seed location spacing, in pixels. If 'seeds' image is provided, no grid is produced. |\n| `compactness` | Float, default: 1 | Compactness factor. Larger values cause clusters to be more compact (square). Setting this to 0 disables spatial distance weighting. |\n| `connectivity` | Integer, default: 8 | Connectivity. Either 4 or 8. |\n| `neighborhoodSize` | Integer, default: null | Tile neighborhood size (to avoid tile boundary artifacts). Defaults to 2 \\* size. |\n| `seeds` | Image, default: null | If provided, any non-zero valued pixels are used as seed locations. Pixels that touch (as specified by 'connectivity') are considered to belong to the same cluster. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Note that the compactness and size parameters can have a significant impact\n// on the result. They must be adjusted to meet image-specific characteristics\n// and patterns, typically through trial. Pixel scale (map zoom level) is also\n// important to consider. When exploring interactively through map tile\n// visualization, the segmentation result it dependent on zoom level. If you\n// need to evaluate the result at a specific scale, call .reproject() on the\n// result, but do so with caution because it overrides the default scaling\n// behavior that makes tile computation fast and efficient.\n\n\n// Load a NAIP image for a neighborhood in Las Vegas.\nvar naip = ee.Image('USDA/NAIP/DOQQ/m_3611554_sw_11_1_20170613');\n\n// Apply the SNIC algorithm to the image.\nvar snic = ee.Algorithms.Image.Segmentation.SNIC({\n image: naip,\n size: 30,\n compactness: 0.1,\n connectivity: 8,\n});\n\n// Display the original NAIP image as RGB.\n// Lock map zoom to maintain the desired scale of the segmentation computation.\nMap.setLocked(false, 18, 18);\nMap.setCenter(-115.32053, 36.182016, 18);\nMap.addLayer(naip, null, 'NAIP RGB');\n\n// Display the clusters.\nMap.addLayer(snic.randomVisualizer(), null, 'Clusters');\n\n// Display the RGB cluster means.\nvar visParams = {\n bands: ['R_mean', 'G_mean', 'B_mean'],\n min: 0,\n max: 255\n};\nMap.addLayer(snic, visParams, 'RGB cluster means');\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Note that the compactness and size parameters can have a significant impact\n# on the result. They must be adjusted to meet image-specific characteristics\n# and patterns, typically through trial. Pixel scale (map zoom level) is also\n# important to consider. When exploring interactively through map tile\n# visualization, the segmentation result it dependent on zoom level. If you\n# need to evaluate the result at a specific scale, call .reproject() on the\n# result, but do so with caution because it overrides the default scaling\n# behavior that makes tile computation fast and efficient.\n\n\n# Load a NAIP image for a neighborhood in Las Vegas.\nnaip = ee.Image('USDA/NAIP/DOQQ/m_3611554_sw_11_1_20170613')\n\n# Apply the SNIC algorithm to the image.\nsnic = ee.Algorithms.Image.Segmentation.SNIC(\n image=naip, size=30, compactness=0.1, connectivity=8\n)\n\n# Display the original NAIP image as RGB.\nm = geemap.Map()\nm.set_center(-115.32053, 36.182016, 18)\nm.add_layer(naip, None, 'NAIP RGB')\n\n# Display the clusters.\nm.add_layer(snic.randomVisualizer(), None, 'Clusters')\n\n# Display the RGB cluster means.\nvis_params = {'bands': ['R_mean', 'G_mean', 'B_mean'], 'min': 0, 'max': 255}\nm.add_layer(snic, vis_params, 'RGB cluster means')\nm\n```"]]