ImageMasking
Inheritance: java.lang.Object
public class ImageMasking
提供图像遮罩操作
构造函数
| 构造函数 | 描述 |
|---|---|
| ImageMasking(RasterImage sourceImage) | 初始化 ImageMasking 类的新实例。 |
方法
| 方法 | 描述 |
|---|---|
| applyMask(RasterImage targetImage, RasterImage mask, MaskingOptions maskingOptions) | 将掩码应用于指定的源图像。 |
| decompose(MaskingOptions options) | 使用指定的掩码选项执行分解操作 |
| decomposeAsync(MaskingOptions options) | 使用指定的掩码选项创建异步分解任务。 |
| createSession(MaskingOptions options) | 创建可执行再训练分解操作的掩码会话。 |
| loadSession(InputStream stream) | 从指定的流加载会话。 |
| loadSession(System.IO.Stream stream) | |
| loadSession(String filePath) | 从指定文件加载会话。 |
Example: This example shows how to decompose a raster image into multiple images using image masking and the K-means segmentation algorithm.
此示例展示如何使用图像掩码和 K-means 分割算法将光栅图像分解为多个图像。图像掩码是一种用于将背景与前景图像对象分离的图像处理技术。
String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(dir + "Blue hills.png");
try {
com.aspose.imaging.masking.options.AutoMaskingArgs args = new com.aspose.imaging.masking.options.AutoMaskingArgs();
// 设置簇的数量(分离的对象)。默认值为 2,即前景对象和背景。
args.setNumberOfObjects(3);
// 设置最大迭代次数。
args.setMaxIterationNumber(50);
// 设置分割方法的精度(可选)。
args.setPrecision(1);
// 每个簇(段)将存储为单独的 PNG 文件。
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource(new java.io.ByteArrayInputStream(new byte[0])));
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 K-means 聚类。
// K-means 聚类可以将图像拆分为多个独立的簇(段)。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.KMeans);
maskingOptions.setDecompose(true);
maskingOptions.setArgs(args);
// 背景颜色将为橙色。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getOrange());
maskingOptions.setExportOptions(exportOptions);
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
// 将源图像划分为多个簇(段)。
com.aspose.imaging.masking.result.MaskingResult maskingResults = masking.decompose(maskingOptions);
try
{
// 从掩码结果获取图像并保存为 PNG。
for (int i = 0; i < maskingResults.getLength(); i++) {
final IMaskingLayer resultsItem = maskingResults.get_Item(i);
String outputFileName = String.format("Blue hills.Segment%s.png", resultsItem.getObjectNumber());
Image resultImage = resultsItem.getImage();
try {
resultImage.save(dir + outputFileName);
} finally {
resultImage.close();
}
}
}
finally
{
maskingResults.close();
}
} finally {
image.close();
}
Example: Using a segment mask to speed up the segmentation process
// 遮罩导出选项
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 GraphCut 聚类。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// 背景颜色将是透明的。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getTransparent());
maskingOptions.setExportOptions(exportOptions);
String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.Size imageSize = image.getSize();
// 减小图像尺寸以加快分割过程
image.resizeHeightProportionally(600, com.aspose.imaging.ResizeType.HighQualityResample);
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
// 将源图像划分为多个簇(段)。
com.aspose.imaging.masking.result.MaskingResult maskingResult = masking.decompose(maskingOptions);
try
{
// 获取前景掩码
com.aspose.imaging.RasterImage foregroundMask = maskingResult.get_Item(1).getMask();
try
{
// 将掩码的大小增加到原始图像的尺寸
foregroundMask.resize(imageSize.getWidth(), imageSize.getHeight(), com.aspose.imaging.ResizeType.NearestNeighbourResample);
// 将掩码应用于原始图像以获得前景段
com.aspose.imaging.RasterImage originImage = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.masking.ImageMasking.applyMask(originImage, foregroundMask, maskingOptions);
originImage.save(dir + "BigImage_foreground.png", exportOptions);
}
finally
{
originImage.close();
}
}
finally
{
foregroundMask.close();
}
}
finally
{
maskingResult.close();
}
}
finally
{
image.close();
}
Example: Saving the masking session to a file for long sessions, as well as for the possibility of resuming the session in another environment.
String dir = "c:\\temp\\";
String sessionBackupFile = dir + "session.bak";
// 遮罩导出选项
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 GraphCut 聚类。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// 背景颜色将为橙色。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getOrange());
maskingOptions.setExportOptions(exportOptions);
// 首次启动会话并保存到文件
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
com.aspose.imaging.masking.IMaskingSession session = masking.createSession(maskingOptions);
try
{
com.aspose.imaging.masking.result.MaskingResult maskingResult = session.decompose();
try
{
com.aspose.imaging.RasterImage segmentImage = maskingResult.get_Item(1).getImage();
try
{
segmentImage.save(dir + "step1.png");
}
finally
{
segmentImage.close();
}
}
finally
{
maskingResult.close();
}
session.save(sessionBackupFile);
}
finally
{
session.dispose();
}
}
finally
{
image.close();
}
// 从文件恢复掩码会话
com.aspose.imaging.RasterImage image2 = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image2);
com.aspose.imaging.masking.IMaskingSession session = masking.loadSession(sessionBackupFile);
try
{
com.aspose.imaging.masking.options.AutoMaskingArgs args = new com.aspose.imaging.masking.options.AutoMaskingArgs();
// 对图像进行视觉分析并设置属于分离对象的点。
args.setObjectsPoints(new Point[][]
{
new Point[]
{
new Point(0, 0), new Point(0, 1), new Point(1, 0),
new Point(1, 1), new Point(2, 0), new Point(2, 1),
new Point(3, 0), new Point(3, 1)
},
});
com.aspose.imaging.masking.result.MaskingResult maskingResult = session.improveDecomposition(args);
try
{
// 显式传递导出选项,因为它不可序列化
maskingResult.MaskingOptions.setExportOptions(exportOptions);
com.aspose.imaging.RasterImage segmentImage = maskingResult.get_Item(1).getImage();
try
{
segmentImage.save(dir + "step2.png");
}
finally
{
segmentImage.close();
}
}
finally
{
maskingResult.close();
}
}
finally
{
session.dispose();
}
}
finally
{
image2.close();
}
ImageMasking(RasterImage sourceImage)
public ImageMasking(RasterImage sourceImage)
初始化 ImageMasking 类的新实例。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| sourceImage | RasterImage | 源图像。 |
Example: Using a segment mask to speed up the segmentation process
// 遮罩导出选项
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 GraphCut 聚类。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// 背景颜色将是透明的。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getTransparent());
maskingOptions.setExportOptions(exportOptions);
String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.Size imageSize = image.getSize();
// 减小图像尺寸以加快分割过程
image.resizeHeightProportionally(600, com.aspose.imaging.ResizeType.HighQualityResample);
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
// 将源图像划分为多个簇(段)。
com.aspose.imaging.masking.result.MaskingResult maskingResult = masking.decompose(maskingOptions);
try
{
// 获取前景掩码
com.aspose.imaging.RasterImage foregroundMask = maskingResult.get_Item(1).getMask();
try
{
// 将掩码的大小增加到原始图像的尺寸
foregroundMask.resize(imageSize.getWidth(), imageSize.getHeight(), com.aspose.imaging.ResizeType.NearestNeighbourResample);
// 将掩码应用于原始图像以获得前景段
com.aspose.imaging.RasterImage originImage = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.masking.ImageMasking.applyMask(originImage, foregroundMask, maskingOptions);
originImage.save(dir + "BigImage_foreground.png", exportOptions);
}
finally
{
originImage.close();
}
}
finally
{
foregroundMask.close();
}
}
finally
{
maskingResult.close();
}
}
finally
{
image.close();
}
applyMask(RasterImage targetImage, RasterImage mask, MaskingOptions maskingOptions)
public static void applyMask(RasterImage targetImage, RasterImage mask, MaskingOptions maskingOptions)
将掩码应用于指定的源图像。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| targetImage | RasterImage | 目标图像。 |
| mask | RasterImage | 要应用的掩码图像。 |
| maskingOptions | MaskingOptions | 掩码选项。 |
Example: Using a segment mask to speed up the segmentation process
// 遮罩导出选项
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 GraphCut 聚类。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// 背景颜色将是透明的。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getTransparent());
maskingOptions.setExportOptions(exportOptions);
String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.Size imageSize = image.getSize();
// 减小图像尺寸以加快分割过程
image.resizeHeightProportionally(600, com.aspose.imaging.ResizeType.HighQualityResample);
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
// 将源图像划分为多个簇(段)。
com.aspose.imaging.masking.result.MaskingResult maskingResult = masking.decompose(maskingOptions);
try
{
// 获取前景掩码
com.aspose.imaging.RasterImage foregroundMask = maskingResult.get_Item(1).getMask();
try
{
// 将掩码的大小增加到原始图像的尺寸
foregroundMask.resize(imageSize.getWidth(), imageSize.getHeight(), com.aspose.imaging.ResizeType.NearestNeighbourResample);
// 将掩码应用于原始图像以获得前景段
com.aspose.imaging.RasterImage originImage = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.masking.ImageMasking.applyMask(originImage, foregroundMask, maskingOptions);
originImage.save(dir + "BigImage_foreground.png", exportOptions);
}
finally
{
originImage.close();
}
}
finally
{
foregroundMask.close();
}
}
finally
{
maskingResult.close();
}
}
finally
{
image.close();
}
decompose(MaskingOptions options)
public final MaskingResult decompose(MaskingOptions options)
使用指定的掩码选项执行分解操作
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| options | MaskingOptions | 掩码选项。 |
Returns: MaskingResult - Result of masking operation as array of segment image providers.
Example: This example shows how to specify suggestions for image masking algorithm to improve precision of segmentation (clustering) method. 此示例展示如何为图像掩码算法指定建议,以提高分割(聚类)方法的精度。图像掩码是一种用于将背景与前景图像对象分离的图像处理技术。
String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try {
com.aspose.imaging.masking.options.AutoMaskingArgs args = new com.aspose.imaging.masking.options.AutoMaskingArgs();
// 建议 #1。
// 对图像进行目视分析并设置感兴趣区域。分割结果将仅包含完全位于该区域内的对象。
args.setObjectsRectangles(new com.aspose.imaging.Rectangle[]
{
new com.aspose.imaging.Rectangle(86, 6, 270, 364),
});
// 建议 #2。
// 对图像进行视觉分析并设置属于分离对象的点。
args.setObjectsPoints(new com.aspose.imaging.Point[][]
{
new com.aspose.imaging.Point[]{new com.aspose.imaging.Point(103, 326)},
new com.aspose.imaging.Point[]{new com.aspose.imaging.Point(280, 43)},
new com.aspose.imaging.Point[]{new com.aspose.imaging.Point(319, 86)},
});
// 每个簇(段)将存储为单独的 PNG 文件。
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 GraphCut 聚类。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(args);
// 背景颜色将为橙色。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getOrange());
maskingOptions.setExportOptions(exportOptions);
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
// 将源图像划分为多个簇(段)。
com.aspose.imaging.masking.result.MaskingResult maskingResults = masking.decompose(maskingOptions);
try
{
// 从掩码结果获取图像并保存为 PNG。
for (int i = 0; i < maskingResults.getLength(); i++) {
String outputFileName = String.format("Gorilla.Segment%s.png", maskingResults.get_Item(i).getObjectNumber());
Image resultImage = maskingResults.get_Item(i).getImage();
try {
resultImage.save(dir + outputFileName);
} finally {
resultImage.close();
}
}
}
finally
{
maskingResults.close();
}
} finally {
image.close();
}
Example: Using a segment mask to speed up the segmentation process
// 遮罩导出选项
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 GraphCut 聚类。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// 背景颜色将是透明的。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getTransparent());
maskingOptions.setExportOptions(exportOptions);
String dir = "c:\\temp\\";
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.Size imageSize = image.getSize();
// 减小图像尺寸以加快分割过程
image.resizeHeightProportionally(600, com.aspose.imaging.ResizeType.HighQualityResample);
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
// 将源图像划分为多个簇(段)。
com.aspose.imaging.masking.result.MaskingResult maskingResult = masking.decompose(maskingOptions);
try
{
// 获取前景掩码
com.aspose.imaging.RasterImage foregroundMask = maskingResult.get_Item(1).getMask();
try
{
// 将掩码的大小增加到原始图像的尺寸
foregroundMask.resize(imageSize.getWidth(), imageSize.getHeight(), com.aspose.imaging.ResizeType.NearestNeighbourResample);
// 将掩码应用于原始图像以获得前景段
com.aspose.imaging.RasterImage originImage = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "BigImage.jpg");
try
{
com.aspose.imaging.masking.ImageMasking.applyMask(originImage, foregroundMask, maskingOptions);
originImage.save(dir + "BigImage_foreground.png", exportOptions);
}
finally
{
originImage.close();
}
}
finally
{
foregroundMask.close();
}
}
finally
{
maskingResult.close();
}
}
finally
{
image.close();
}
decomposeAsync(MaskingOptions options)
public final IMaskingAsyncTask decomposeAsync(MaskingOptions options)
使用指定的掩码选项创建异步分解任务。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| options | MaskingOptions | 掩码选项。 |
Returns: IMaskingAsyncTask - The asynchronous decompose task
createSession(MaskingOptions options)
public final IMaskingSession createSession(MaskingOptions options)
创建可执行再训练分解操作的掩码会话。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| options | MaskingOptions | 选项。 |
Returns: IMaskingSession - the masking session which can perform retraining decompose operations.
Example: Saving the masking session to a file for long sessions, as well as for the possibility of resuming the session in another environment.
String dir = "c:\\temp\\";
String sessionBackupFile = dir + "session.bak";
// 遮罩导出选项
com.aspose.imaging.imageoptions.PngOptions exportOptions = new com.aspose.imaging.imageoptions.PngOptions();
exportOptions.setColorType(com.aspose.imaging.fileformats.png.PngColorType.TruecolorWithAlpha);
exportOptions.setSource(new com.aspose.imaging.sources.StreamSource());
com.aspose.imaging.masking.options.MaskingOptions maskingOptions = new com.aspose.imaging.masking.options.MaskingOptions();
// 使用 GraphCut 聚类。
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// 背景颜色将为橙色。
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getOrange());
maskingOptions.setExportOptions(exportOptions);
// 首次启动会话并保存到文件
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image);
com.aspose.imaging.masking.IMaskingSession session = masking.createSession(maskingOptions);
try
{
com.aspose.imaging.masking.result.MaskingResult maskingResult = session.decompose();
try
{
com.aspose.imaging.RasterImage segmentImage = maskingResult.get_Item(1).getImage();
try
{
segmentImage.save(dir + "step1.png");
}
finally
{
segmentImage.close();
}
}
finally
{
maskingResult.close();
}
session.save(sessionBackupFile);
}
finally
{
session.dispose();
}
}
finally
{
image.close();
}
// 从文件恢复掩码会话
com.aspose.imaging.RasterImage image2 = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// 创建 ImageMasking 类的实例。
com.aspose.imaging.masking.ImageMasking masking = new com.aspose.imaging.masking.ImageMasking(image2);
com.aspose.imaging.masking.IMaskingSession session = masking.loadSession(sessionBackupFile);
try
{
com.aspose.imaging.masking.options.AutoMaskingArgs args = new com.aspose.imaging.masking.options.AutoMaskingArgs();
// 对图像进行视觉分析并设置属于分离对象的点。
args.setObjectsPoints(new Point[][]
{
new Point[]
{
new Point(0, 0), new Point(0, 1), new Point(1, 0),
new Point(1, 1), new Point(2, 0), new Point(2, 1),
new Point(3, 0), new Point(3, 1)
},
});
com.aspose.imaging.masking.result.MaskingResult maskingResult = session.improveDecomposition(args);
try
{
// 显式传递导出选项,因为它不可序列化
maskingResult.MaskingOptions.setExportOptions(exportOptions);
com.aspose.imaging.RasterImage segmentImage = maskingResult.get_Item(1).getImage();
try
{
segmentImage.save(dir + "step2.png");
}
finally
{
segmentImage.close();
}
}
finally
{
maskingResult.close();
}
}
finally
{
session.dispose();
}
}
finally
{
image2.close();
}
loadSession(InputStream stream)
public final IMaskingSession loadSession(InputStream stream)
从指定的流加载会话。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 流 | java.io.InputStream | 流。 |
Returns: IMaskingSession - the masking session which can perform retraining decompose operations.
loadSession(System.IO.Stream stream)
public final IMaskingSession loadSession(System.IO.Stream stream)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 流 | com.aspose.ms.System.IO.Stream |
Returns: IMaskingSession
loadSession(String filePath)
public final IMaskingSession loadSession(String filePath)
从指定文件加载会话。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| filePath | java.lang.String | 文件路径。 |
Returns: IMaskingSession - the masking session which can perform retraining decompose operations.