ObjectsRectangles
AutoMaskingArgs.ObjectsRectangles property
Obtiene o establece los rectángulos de objetos que pertenecen a objetos separados (opcional). Este parámetro se utiliza para aumentar la precisión del método de segmentación.
public Rectangle[] ObjectsRectangles { get; set; }
El valor de la propiedad
Los objetos rectángulos.
Ejemplos
Este ejemplo muestra cómo especificar sugerencias para el algoritmo de enmascaramiento de imágenes para mejorar la precisión del método de segmentación (agrupamiento). El enmascaramiento de imágenes es una técnica de procesamiento de imágenes que se utiliza para separar el fondo de los objetos de imagen de primer plano.
[C#]
string dir = "c:\\temp\\";
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Load(dir + "Gorilla.bmp"))
{
Aspose.Imaging.Masking.Options.AutoMaskingArgs args = new Aspose.Imaging.Masking.Options.AutoMaskingArgs();
// Sugerencia #1.
// Analice la imagen visualmente y establezca el área de interés. El resultado de la segmentación incluirá solo los objetos que estarán completamente ubicados dentro de esta área.
args.ObjectsRectangles = new Rectangle[]
{
new Rectangle(86, 6, 270, 364),
};
// Sugerencia #2.
// Analiza la imagen visualmente y establece los puntos que pertenecen a los objetos separados.
args.ObjectsPoints = new Point[][]
{
new Point[] { new Point(103, 326) },
new Point[] { new Point(280, 43) },
new Point[] { new Point(319, 86) },
};
// Cada grupo (segmento) se almacenará en un archivo PNG separado.
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();
// Usar el agrupamiento de GraphCut.
maskingOptions.Method = Masking.Options.SegmentationMethod.GraphCut;
maskingOptions.Decompose = false;
maskingOptions.Args = args;
// El color de fondo será naranja.
maskingOptions.BackgroundReplacementColor = Aspose.Imaging.Color.Orange;
maskingOptions.ExportOptions = exportOptions;
// Crea una instancia de la clase ImageMasking.
Aspose.Imaging.Masking.ImageMasking masking = new Aspose.Imaging.Masking.ImageMasking(image);
// Divide la imagen de origen en varios grupos (segmentos).
using (Aspose.Imaging.Masking.Result.MaskingResult maskingResult = masking.Decompose(maskingOptions))
{
// Obtenga imágenes del resultado de enmascaramiento y guárdelas en PNG.
for (int i = 0; i < maskingResult.Length; i++)
{
string outputFileName = string.Format("Gorilla.Segment{0}.png", maskingResult[i].ObjectNumber);
using (Aspose.Imaging.Image resultImage = maskingResult[i].GetImage())
{
resultImage.Save(dir + outputFileName);
}
}
}
}
Ver también
- struct Rectangle
- class AutoMaskingArgs
- espacio de nombres Aspose.Imaging.Masking.Options
- asamblea Aspose.Imaging