ee.Algorithms.Image.Segmentation.GMeans
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Thực hiện phân cụm G-Means trên hình ảnh đầu vào. Áp dụng lặp lại k-means, sau đó kiểm tra tính chuẩn tắc để tự động xác định số lượng cụm cần sử dụng. Đầu ra chứa một dải "cụm" chứa mã nhận dạng số nguyên của cụm mà mỗi pixel thuộc về. Thuật toán này có thể hoạt động trên một lưới cố định gồm các ô không chồng chéo (gridSize, có thể nhỏ hơn một ô) hoặc trên các ô có chồng chéo (neighborhoodSize). Theo mặc định, các ô không chồng chéo sẽ được dùng. Các cụm trong một ô hoặc ô xếp không liên quan đến các cụm trong ô hoặc ô xếp khác. Mọi cụm trải dài trên ranh giới ô hoặc ô vuông có thể nhận được 2 nhãn khác nhau ở 2 nửa. Mọi pixel đầu vào có mặt nạ một phần đều được che hoàn toàn trong đầu ra. Thuật toán này chỉ được kỳ vọng hoạt động hiệu quả đối với những hình ảnh có dải tương phản động hẹp (tức là byte hoặc đoạn video ngắn).
Xem: G. Hamerly và C. Elkan. "Tìm hiểu về k trong thuật toán k-means". NIPS, 2003.
Cách sử dụng | Giá trị trả về |
---|
ee.Algorithms.Image.Segmentation.GMeans(image, numIterations, pValue, neighborhoodSize, gridSize, uniqueLabels) | Hình ảnh |
Đối số | Loại | Thông tin chi tiết |
---|
image | Hình ảnh | Hình ảnh đầu vào để phân cụm. |
numIterations | Số nguyên, mặc định: 10 | Số lần lặp lại. Giá trị mặc định là 10. |
pValue | Độ chính xác đơn, mặc định: 50 | Mức ý nghĩa cho kiểm định tính chuẩn. |
neighborhoodSize | Số nguyên, mặc định: 0 | Quy mô của vùng lân cận. Số lượng cần mở rộng mỗi ô (chồng chéo) khi tính toán các cụm. Lựa chọn này loại trừ lẫn nhau với gridSize. |
gridSize | Số nguyên, mặc định: null | Kích thước ô lưới. Nếu lớn hơn 0, kMeans sẽ chạy độc lập trên các ô có kích thước này. Điều này có tác dụng giới hạn kích thước của mọi cụm thành gridSize hoặc nhỏ hơn. Lựa chọn này không thể dùng chung với neighborhoodSize. |
uniqueLabels | Boolean, mặc định: true | Nếu đúng, các cụm sẽ được chỉ định mã nhận dạng riêng biệt. Nếu không, các đường này sẽ lặp lại theo mỗi ô lưới hoặc ô trên thẻ thông tin. |
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[[["\u003cp\u003eThe GMeans algorithm automatically determines the optimal number of clusters for image segmentation using iterative k-means and a normality test.\u003c/p\u003e\n"],["\u003cp\u003eIt outputs an image with a 'clusters' band, assigning each pixel an integer ID corresponding to its cluster.\u003c/p\u003e\n"],["\u003cp\u003eUsers can control segmentation granularity through \u003ccode\u003egridSize\u003c/code\u003e for non-overlapping cells or \u003ccode\u003eneighborhoodSize\u003c/code\u003e for overlapping tiles.\u003c/p\u003e\n"],["\u003cp\u003eClusters are independent within each cell or tile, potentially leading to different labels for the same cluster across boundaries.\u003c/p\u003e\n"],["\u003cp\u003eThe algorithm is best suited for images with a narrow dynamic range, like those with byte or short data types.\u003c/p\u003e\n"]]],["The G-Means algorithm performs image clustering by iteratively applying k-means and a normality test to determine the optimal number of clusters. It outputs an image with a 'clusters' band, assigning each pixel to a cluster. It can operate on a fixed grid (gridSize) or tiles with overlap (neighborhoodSize), with default being tiles without overlap. Input images should have a narrow dynamic range and pixels with partial mask will be fully masked in the output. Clusters can be assigned unique ID's or repeat per tile.\n"],null,["# ee.Algorithms.Image.Segmentation.GMeans\n\nPerforms G-Means clustering on the input image. Iteratively applies k-means followed by a normality test to automatically determine the number of clusters to use. The output contains a 'clusters' band containing the integer ID of the cluster that each pixel belongs to. The algorithm can work either on a fixed grid of non-overlapping cells (gridSize, which can be smaller than a tile) or on tiles with overlap (neighborhoodSize). The default is to use tiles with no overlap. Clusters in one cell or tile are unrelated to clusters in another. Any cluster that spans a cell or tile boundary may receive two different labels in the two halves. Any input pixels with partial masks are fully masked in the output. This algorithm is only expected to perform well for images with a narrow dynamic range (i.e., bytes or shorts).\n\n\u003cbr /\u003e\n\nSee: G. Hamerly and C. Elkan. 'Learning the k in k-means'. NIPS, 2003.\n\n| Usage | Returns |\n|-------------------------------------------------------------------------------------------------------------------------------------------|---------|\n| `ee.Algorithms.Image.Segmentation.GMeans(image, `*numIterations* `, `*pValue* `, `*neighborhoodSize* `, `*gridSize* `, `*uniqueLabels*`)` | Image |\n\n| Argument | Type | Details |\n|--------------------|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `image` | Image | The input image for clustering. |\n| `numIterations` | Integer, default: 10 | Number of iterations. Default 10. |\n| `pValue` | Float, default: 50 | Significance level for normality test. |\n| `neighborhoodSize` | Integer, default: 0 | Neighborhood size. The amount to extend each tile (overlap) when computing the clusters. This option is mutually exclusive with gridSize. |\n| `gridSize` | Integer, default: null | Grid cell-size. If greater than 0, kMeans will be run independently on cells of this size. This has the effect of limiting the size of any cluster to be gridSize or smaller. This option is mutually exclusive with neighborhoodSize. |\n| `uniqueLabels` | Boolean, default: true | If true, clusters are assigned unique IDs. Otherwise, they repeat per tile or grid cell. |"]]