Enum DetectedObjectType
Το όνομα: Aspose.Imaging.Masking.Options Συγκέντρωση: Aspose.Imaging.dll (25.4.0)
Τα ανιχνευμένα αντικείμενα τύπων καταχώρισης.
public enum DetectedObjectType
Fields
Human = 0
του ανθρώπινου αντικειμένου.
Other = 1
Άλλο είδος αντικειμένου.
Examples
Αποθήκευση εικόνας κρυπτογράφηση αποτελέσματα με κρυπτογράφηση με βάση το μέγεθος της εικόνας. Η κρυπτογράφηση εικόνας εκτελείται χρησιμοποιώντας αυτόματα υπολογισμένα προεπιλεγμένα κρούσματα. Επιπλέον, τα δεδομένα των δύο υποτιθέμενων αντικειμένων προσδιορίζεται επίσης στην ιδιοκτησία AssumedObjects των AutoMaskingGraphCutOptions.
List<assumedobjectdata> assumedObjects = new List<assumedobjectdata>();
assumedObjects.Add(new AssumedObjectData(DetectedObjectType.Human, new Rectangle(100, 100, 150, 300)));
assumedObjects.Add(new AssumedObjectData(DetectedObjectType.Dog, new Rectangle(300, 100, 50, 30)));
MaskingResult[] results;
using (RasterImage image = (RasterImage)Image.Load("input.jpg"))
{
AutoMaskingGraphCutOptions options = new AutoMaskingGraphCutOptions
{
AssumedObjects = assumedObjects,
CalculateDefaultStrokes = true,
FeatheringRadius = (Math.Max(image.Width, image.Height) / 500) + 1,
Method = SegmentationMethod.GraphCut,
Decompose = false,
ExportOptions =
new PngOptions()
{
ColorType = PngColorType.TruecolorWithAlpha,
Source = new FileCreateSource("tempFile")
},
BackgroundReplacementColor = Color.Transparent
};
results = new ImageMasking(image).Decompose(options);
}
using (RasterImage resultImage = (RasterImage)results[1].GetImage())
{
resultImage.Save("output.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}</assumedobjectdata></assumedobjectdata>
Αποθηκεύστε το αποτέλεσμα της μάσκας εικόνας με το αποτέλεσμα της μάσκας βάσει του μεγέθους της εικόνας και επαναχρησιμοποιήστε τις επιλογές μάσκας για τη νέα ιταρία μάσκας. Η μάσκας εικόνας εκτελείται χρησιμοποιώντας αυτόματα υπολογισμένα προεπιλεγμένα στροφές. Επιπλέον, τα δεδομένα των δύο υποτιθέμενων αντικειμένων καθορίζονται επίσης στην ιδιοκτησία των Υποτιθέμενων αντικειμένων των AutoMaskingGraphCutOptions. Μετά την απόκτηση του αρχικού αποτελέσματος μάσκας, τροποποιούνται οι εφαρμοσμένες στροφές υπόβαθρου/προεδαφών και εκτελείται άλλη ιταρία μάσκας.
List<assumedobjectdata> assumedObjects = new List<assumedobjectdata>();
assumedObjects.Add(new AssumedObjectData(DetectedObjectType.Human, new Rectangle(100, 100, 150, 300)));
assumedObjects.Add(new AssumedObjectData(DetectedObjectType.Dog, new Rectangle(300, 100, 50, 30)));
MaskingResult[] results;
AutoMaskingGraphCutOptions options;
using (RasterImage image = (RasterImage)Image.Load("input.jpg"))
{
options = new AutoMaskingGraphCutOptions
{
AssumedObjects = assumedObjects,
CalculateDefaultStrokes = true,
FeatheringRadius = 3,
Method = SegmentationMethod.GraphCut,
Decompose = false,
ExportOptions =
new PngOptions()
{
ColorType = PngColorType.TruecolorWithAlpha,
Source = new FileCreateSource("tempFile")
},
BackgroundReplacementColor = Color.Transparent
};
results = new ImageMasking(image).Decompose(options);
}
// At this point applied foreground/background strokes can be analyzed and based on it additional
// foreground/background strokes can be manually provided.
Point[] appliedBackgroundStrokes = options.DefaultBackgroundStrokes;
Point[] appliedForegroundStrokes = options.DefaultForegroundStrokes;
Rectangle[] appliedObjectRectangles = options.DefaultObjectsRectangles;
using (RasterImage resultImage = (RasterImage)results[1].GetImage())
{
resultImage.Save("output.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
using (RasterImage image = (RasterImage)Image.Load("input.jpg"))
{
// Re-using AutoMaskingGraphCutOptions there is no need to perform default strokes calculations second time.
options.CalculateDefaultStrokes = false;
// When both default strokes and ObjectsPoints in the Args property of AutoMaskingArgs are provided, Point arrays are end up combined.
// The first ObjectsPoints array is considered to be a background points array and
// the second ObjectsPoints array is considered to be a foreground points array.
// When both DefaultObjectsRectangles and ObjectsRectangles in the Args property of AutoMaskingArgs are provided,
// only the array from the Args is being used.
options.Args = new AutoMaskingArgs()
{
ObjectsPoints = new Point[][]
{
new Point[] { new Point(100, 100), new Point(150, 100) },
new Point[] { new Point(500, 200) },
},
ObjectsRectangles = new Rectangle[]
{
new Rectangle(100, 100, 300, 300),
}
};
results = new ImageMasking(image).Decompose(options);
}
using (RasterImage resultImage = (RasterImage)results[1].GetImage())
{
resultImage.Save("output.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}</assumedobjectdata></assumedobjectdata>
Αποθηκεύστε το αποτέλεσμα κρυπτογράφησης εικόνας με κρυπτογράφηση με βάση το μέγεθος της εικόνας, τροποποιήστε τις αποκτηθείσες προεπιλεγμένες κρούσεις και χρησιμοποιήστε τις για τη νέα κρυπτογράφηση. Η κρυπτογράφηση εικόνας πραγματοποιείται χρησιμοποιώντας αυτόματα υπολογισμένες προεπιλεγμένες κρούσεις. Επιπλέον, τα δεδομένα των δύο υποτιθέμενων αντικειμένων καθορίζονται επίσης στην ιδιοκτησία των υποτιθέμενων αντικειμένων των AutoMaskingGraphCutOptions. Αφού λάβετε το αρχικό αποτέλεσμα κρυπτογράφησης, τροποποιούνται οι εφαρμοσμένες κρυπτογράφησεις/προεπιλεγμένες κρούσεις και πραγματοποιείται μια άλλη κρυπτογράφηση χρησιμοποιώντας τη νέα κ
List<assumedobjectdata> assumedObjects = new List<assumedobjectdata>();
assumedObjects.Add(new AssumedObjectData(DetectedObjectType.Human, new Rectangle(100, 100, 150, 300)));
assumedObjects.Add(new AssumedObjectData(DetectedObjectType.Dog, new Rectangle(300, 100, 50, 30)));
MaskingResult[] results;
AutoMaskingGraphCutOptions options;
using (RasterImage image = (RasterImage)Image.Load("input.jpg"))
{
options = new AutoMaskingGraphCutOptions
{
AssumedObjects = assumedObjects,
CalculateDefaultStrokes = true,
FeatheringRadius = 3,
Method = SegmentationMethod.GraphCut,
Decompose = false,
ExportOptions =
new PngOptions()
{
ColorType = PngColorType.TruecolorWithAlpha,
Source = new FileCreateSource("tempFile")
},
BackgroundReplacementColor = Color.Transparent
};
results = new ImageMasking(image).Decompose(options);
}
// At this point applied foreground/background strokes can be analyzed and based on it additional
// foreground/background strokes can be manually provided.
Point[] appliedBackgroundStrokes = options.DefaultBackgroundStrokes;
Point[] appliedForegroundStrokes = options.DefaultForegroundStrokes;
Rectangle[] appliedObjectRectangles = options.DefaultObjectsRectangles;
using (RasterImage resultImage = (RasterImage)results[1].GetImage())
{
resultImage.Save("output.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
appliedBackgroundStrokes[5] = new Point(100, 100);
appliedBackgroundStrokes[15] = new Point(150, 100);
appliedForegroundStrokes[1] = new Point(500, 200);
appliedObjectRectangles[0] = new Rectangle(100, 100, 300, 300);
using (RasterImage image = (RasterImage)Image.Load("input.jpg"))
{
GraphCutMaskingOptions graphCutOptions = new GraphCutMaskingOptions()
{
FeatheringRadius = 3,
Method = SegmentationMethod.GraphCut,
Decompose = false,
ExportOptions = new PngOptions()
{
ColorType = PngColorType.TruecolorWithAlpha,
Source = new FileCreateSource("tempFile")
},
BackgroundReplacementColor = Color.Transparent,
Args = new AutoMaskingArgs()
{
ObjectsPoints = new Point[][]
{
appliedBackgroundStrokes,
appliedForegroundStrokes
},
ObjectsRectangles = appliedObjectRectangles
}
};
results = new ImageMasking(image).Decompose(graphCutOptions);
}
using (RasterImage resultImage = (RasterImage)results[1].GetImage())
{
resultImage.Save("output.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}</assumedobjectdata></assumedobjectdata>