AutoMaskingGraphCutOptions Class

Summary: The GraphCut auto masking options.

Module: aspose.imaging.masking.options

Full Name: aspose.imaging.masking.options.AutoMaskingGraphCutOptions

Inheritance: GraphCutMaskingOptions

Constructors

NameDescription
AutoMaskingGraphCutOptions()Initializes a new instance of the AutoMaskingGraphCutOptions class.

Properties

NameTypeAccessDescription
BACKGROUND_OBJECT_NUMBER [static]intrThe background object number
argsIMaskingArgsr/wGets or sets the arguments for segmentation algorithm.
assumed_objectsSystem.Collections.Generic.List`1[[Aspose.Imaging.Masking.Options.AssumedObjectData]]r/wGets or sets the assumed objects.
background_replacement_colorColorr/wGets or sets the background replacement color.
calculate_default_strokesboolr/wGets or sets a value indicating whether default strokes should be calculated.
decomposeboolr/wGets 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.
default_background_strokesPoint[]rGets the default background strokes.
default_foreground_strokesPoint[]rGets the pre-calculated default foreground strokes.
default_objects_rectanglesRectangle[]rGets the default objects rectangles.
export_optionsImageOptionsBaser/wGets or sets the image export options.
feathering_radiusintr/wGets or sets the feathering radius.
masking_areaRectangler/wGets or sets the masking area.
methodSegmentationMethodr/wGets or sets the segmentation method.

Constructor: AutoMaskingGraphCutOptions()

 AutoMaskingGraphCutOptions() 

Initializes a new instance of the AutoMaskingGraphCutOptions class.

Property: calculate_default_strokes

Gets or sets a value indicating whether default strokes should be calculated.

See also:

Example # 1: Saving image masking result with feathering based on image size. Image maskin…

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