ee.Algorithms.Image.Segmentation.SNIC
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
خوشه بندی سوپرپیکسلی بر اساس SNIC (خوشه بندی ساده غیر تکراری). خروجی باندی از شناسه های خوشه و میانگین های هر خوشه برای هر یک از باندهای ورودی. اگر تصویر "seeds" به عنوان ورودی ارائه نشود، خروجی شامل یک نوار "seeds" حاوی مکانهای بذر تولید شده خواهد بود. نگاه کنید به: 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 | فاصله مکان بذر سوپرپیکسل، بر حسب پیکسل. اگر تصویر "seeds" ارائه شود، هیچ شبکه ای تولید نمی شود. |
compactness | شناور، پیش فرض: 1 | ضریب فشردگی مقادیر بزرگتر باعث می شود که خوشه ها فشرده تر (مربع) شوند. تنظیم این روی 0 وزن فاصله مکانی را غیرفعال می کند. |
connectivity | عدد صحیح، پیش فرض: 8 | قابلیت اتصال یا 4 یا 8. |
neighborhoodSize | عدد صحیح، پیش فرض: null | اندازه محله کاشی (برای جلوگیری از مصنوعات مرز کاشی). اندازه پیشفرض 2 * است. |
seeds | تصویر، پیش فرض: null | در صورت ارائه، هر پیکسل با ارزش غیر صفر به عنوان مکان بذر استفاده می شود. پیکسلهایی که لمس میشوند (همانطور که توسط «اتصال» مشخص شده است) متعلق به یک خوشه در نظر گرفته میشوند. |
نمونه ها
ویرایشگر کد (جاوا اسکریپت)
// 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
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-24 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-24 بهوقت ساعت هماهنگ جهانی."],[[["\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```"]]