GraphCutMaskingOptions Class
Contents
[
Hide
]Summary: The GraphCut auto masking options.
Module: aspose.imaging.masking.options
Full Name: aspose.imaging.masking.options.GraphCutMaskingOptions
Inheritance: MaskingOptions
Constructors
| Name | Description |
|---|---|
| GraphCutMaskingOptions() | Initializes a new instance of the GraphCutMaskingOptions class |
Properties
| Name | Type | Access | Description |
|---|---|---|---|
| BACKGROUND_OBJECT_NUMBER [static] | int | r | The background object number |
| args | IMaskingArgs | r/w | Gets or sets the arguments for segmentation algorithm. |
| background_replacement_color | Color | r/w | Gets or sets the background replacement color. |
| decompose | bool | r/w | Gets or sets a value indicating whether needless to separate each Shape from mask as individual object or as united object from mask separated from background. |
| export_options | ImageOptionsBase | r/w | Gets or sets the image export options. |
| feathering_radius | int | r/w | Gets or sets the feathering radius. |
| masking_area | Rectangle | r/w | Gets or sets the masking area. |
| method | SegmentationMethod | r/w | Gets or sets the segmentation method. |
Constructor: GraphCutMaskingOptions()
GraphCutMaskingOptions()
Initializes a new instance of the GraphCutMaskingOptions class
Property: feathering_radius
Gets or sets the feathering radius.
See also:
Example # 1: Saving image masking result with feathering based on image size. Image maskin…
Example # 2: Saving Graph Cut image masking result with feathering set to 3. Image masking…
Examples
Saving image masking result with feathering based on image size. Image masking is performed using auto calculated default strokes. The Args property of AutoMaskingGraphCutOptions can be omitted since default strokes are placed there in the end.
import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage, Color
from aspose.imaging.sources import FileCreateSource
from aspose.imaging.fileformats.png import PngColorType
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging.masking.options import AutoMaskingGraphCutOptions, SegmentationMethod
from aspose.imaging.masking import ImageMasking
results = None
with aspycore.as_of(Image.load("input.jpg"), RasterImage) as image:
obj_init = PngOptions()
obj_init.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
obj_init.source = FileCreateSource("tempFile")
options = AutoMaskingGraphCutOptions()
options.calculate_default_strokes = True
options.feathering_radius = (max(image.width, image.height) // 500) + 1
options.method = SegmentationMethod.GRAPH_CUT
options.decompose = False
options.export_options = obj_init
options.background_replacement_color = Color.transparent
results = ImageMasking(image).decompose(options)
with aspycore.as_of(results[1].get_image(), RasterImage) as result_image:
obj_init3 = PngOptions()
obj_init3.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
result_image.save("output.png", obj_init3)
# disposing
for it in results:
with it as _:
pass
Saving Graph Cut image masking result with feathering set to 3. Image masking is performed using specified Point array.
import aspose.pycore as aspycore
from aspose.imaging import Image, Color, RasterImage
from aspose.imaging.masking.options import AutoMaskingArgs, GraphCutMaskingOptions, SegmentationMethod
from aspose.imaging.sources import FileCreateSource
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging.fileformats.png import PngColorType
with aspycore.as_of(Image.load("input.jpg"), RasterImage) as image:
obj_init = PngOptions()
obj_init.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
obj_init.source = FileCreateSource("tempFile")
obj_init2 = AutoMaskingArgs()
obj_init2.objects_points = [[Point(100, 100)]]
options = GraphCutMaskingOptions()
options.feathering_radius = 3
options.method = SegmentationMethod.GRAPH_CUT
options.decompose = False
options.export_options = obj_init
options.background_replacement_color = Color.transparent
options.args = obj_init2
results = ImageMasking(image).decompose(options)
with aspycore.as_of(results[1].get_image(), RasterImage) as result_image:
obj_init4 = PngOptions()
obj_init4.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
result_image.save("output.png", obj_init4)
# release all sub-images
for it in results:
with it as _:
pass