NumberOfObjects
AutoMaskingArgs.NumberOfObjects property
Ruft die Anzahl der Objekte ab oder legt sie fest, um das Anfangsbild zu trennen (optional), der Standardwert ist 2 (Objekt und Hintergrund).
public int NumberOfObjects { get; set; }
Eigentumswert
Die Anzahl der Objekte.
Beispiele
Dieses Beispiel zeigt, wie ein Rasterbild mithilfe von Bildmaskierung und dem K-Means-Segmentierungsalgorithmus in mehrere Bilder zerlegt wird. Bildmaskierung ist eine Bildverarbeitungstechnik, die verwendet wird, um den Hintergrund von den Vordergrundbildobjekten zu trennen.
[C#]
string dir = "c:\\temp\\";
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Load(dir + "Blue hills.png"))
{
Aspose.Imaging.Masking.Options.AutoMaskingArgs args = new Aspose.Imaging.Masking.Options.AutoMaskingArgs();
// Legen Sie die Anzahl der Cluster (getrennte Objekte) fest. Der Standardwert ist 2, das Vordergrundobjekt und der Hintergrund.
args.NumberOfObjects = 3;
// Legen Sie die maximale Anzahl von Iterationen fest.
args.MaxIterationNumber = 50;
// Legen Sie die Genauigkeit der Segmentierungsmethode fest (optional)
args.Precision = 1;
// Jeder Cluster (Segment) wird in einer separaten PNG-Datei gespeichert.
Aspose.Imaging.ImageOptions.PngOptions exportOptions = new Aspose.Imaging.ImageOptions.PngOptions();
exportOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.TruecolorWithAlpha;
exportOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream());
Aspose.Imaging.Masking.Options.MaskingOptions maskingOptions = new Aspose.Imaging.Masking.Options.MaskingOptions();
// K-Means-Clustering verwenden.
// K-Means-Clustering ermöglicht es, das Bild in mehrere unabhängige Cluster (Segmente) aufzuteilen.
maskingOptions.Method = Masking.Options.SegmentationMethod.KMeans;
maskingOptions.Decompose = true;
maskingOptions.Args = args;
// Die Hintergrundfarbe ist orange.
maskingOptions.BackgroundReplacementColor = Aspose.Imaging.Color.Orange;
maskingOptions.ExportOptions = exportOptions;
// Erstellen Sie eine Instanz der ImageMasking-Klasse.
Aspose.Imaging.Masking.ImageMasking masking = new Aspose.Imaging.Masking.ImageMasking(image);
// Teilen Sie das Quellbild in mehrere Cluster (Segmente).
using (Aspose.Imaging.Masking.Result.MaskingResult maskingResult = masking.Decompose(maskingOptions))
{
// Bilder aus dem Maskierungsergebnis abrufen und als PNG speichern.
for (int i = 0; i < maskingResult.Length; i++)
{
string outputFileName = string.Format("Blue hills.Segment{0}.png", maskingResult[i].ObjectNumber);
using (Aspose.Imaging.Image resultImage = maskingResult[i].GetImage())
{
resultImage.Save(dir + outputFileName);
}
}
}
}
Siehe auch
- class AutoMaskingArgs
- namensraum Aspose.Imaging.Masking.Options
- Montage Aspose.Imaging