IMaskingSession
All Implemented Interfaces: com.aspose.ms.System.IDisposable
public interface IMaskingSession extends System.IDisposable
La sessione di mascheramento
Metodi
| Metodo | Descrizione |
|---|---|
| decompose() | Esegue la prima operazione di scomposizione grezza |
| decomposeAsync() | Crea l’attività asincrona che può eseguire la prima operazione di scomposizione grezza |
| improveDecomposition(IMaskingArgs maskingArguments) | Esegue l’operazione di scomposizione di riaddestramento |
| improveDecompositionAsync(IMaskingArgs maskingArguments) | Crea l’attività asincrona che può eseguire l’operazione di scomposizione di riaddestramento |
| save(OutputStream stream) | Salva lo stato della sessione nello stream specificato. |
| save(System.IO.Stream stream) | Salva lo stato della sessione nello stream specificato. |
| save(String filePath) | Salva lo stato della sessione nel file specificato. |
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";
// Opzioni di esportazione mascheramento
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();
// Usa il clustering GraphCut.
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// Il colore di sfondo sarà arancione.
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getOrange());
maskingOptions.setExportOptions(exportOptions);
// Avvio di una sessione per la prima volta e salvataggio su un file
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// Crea un'istanza della classe 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();
}
// Ripresa di una sessione di mascheramento da un file
com.aspose.imaging.RasterImage image2 = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// Crea un'istanza della classe 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();
// Analizza l'immagine visivamente e imposta i punti che appartengono a oggetti separati.
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
{
// Trasferimento esplicito delle opzioni di esportazione, poiché non è serializzabile
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();
}
decompose()
public abstract MaskingResult decompose()
Esegue la prima operazione di scomposizione grezza
Returns: MaskingResult - Result of masking operation as array of segment image providers.
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";
// Opzioni di esportazione mascheramento
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();
// Usa il clustering GraphCut.
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// Il colore di sfondo sarà arancione.
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getOrange());
maskingOptions.setExportOptions(exportOptions);
// Avvio di una sessione per la prima volta e salvataggio su un file
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// Crea un'istanza della classe 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();
}
// Ripresa di una sessione di mascheramento da un file
com.aspose.imaging.RasterImage image2 = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// Crea un'istanza della classe 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();
// Analizza l'immagine visivamente e imposta i punti che appartengono a oggetti separati.
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
{
// Trasferimento esplicito delle opzioni di esportazione, poiché non è serializzabile
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();
}
decomposeAsync()
public abstract IMaskingAsyncTask decomposeAsync()
Crea l’attività asincrona che può eseguire la prima operazione di scomposizione grezza
Returns: IMaskingAsyncTask - The asynchronous decompose task
improveDecomposition(IMaskingArgs maskingArguments)
public abstract MaskingResult improveDecomposition(IMaskingArgs maskingArguments)
Esegue l’operazione di scomposizione di riaddestramento
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| maskingArguments | IMaskingArgs | Gli argomenti di mascheramento. |
Returns: MaskingResult - Result of masking operation as array of segment image providers.
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";
// Opzioni di esportazione mascheramento
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();
// Usa il clustering GraphCut.
maskingOptions.setMethod(com.aspose.imaging.masking.options.SegmentationMethod.GraphCut);
maskingOptions.setDecompose(false);
maskingOptions.setArgs(new com.aspose.imaging.masking.options.AutoMaskingArgs());
// Il colore di sfondo sarà arancione.
maskingOptions.setBackgroundReplacementColor(com.aspose.imaging.Color.getOrange());
maskingOptions.setExportOptions(exportOptions);
// Avvio di una sessione per la prima volta e salvataggio su un file
com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// Crea un'istanza della classe 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();
}
// Ripresa di una sessione di mascheramento da un file
com.aspose.imaging.RasterImage image2 = (com.aspose.imaging.RasterImage)com.aspose.imaging.Image.load(dir + "Gorilla.bmp");
try
{
// Crea un'istanza della classe 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();
// Analizza l'immagine visivamente e imposta i punti che appartengono a oggetti separati.
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
{
// Trasferimento esplicito delle opzioni di esportazione, poiché non è serializzabile
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();
}
improveDecompositionAsync(IMaskingArgs maskingArguments)
public abstract IMaskingAsyncTask improveDecompositionAsync(IMaskingArgs maskingArguments)
Crea l’attività asincrona che può eseguire l’operazione di scomposizione di riaddestramento
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| maskingArguments | IMaskingArgs | Gli argomenti di mascheramento. |
Returns: IMaskingAsyncTask - The asynchronous decompose task
save(OutputStream stream)
public abstract void save(OutputStream stream)
Salva lo stato della sessione nello stream specificato.
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| flusso | java.io.OutputStream | Il flusso. |
save(System.IO.Stream stream)
public abstract void save(System.IO.Stream stream)
Salva lo stato della sessione nello stream specificato.
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| flusso | com.aspose.ms.System.IO.Stream | Il flusso. |
save(String filePath)
public abstract void save(String filePath)
Salva lo stato della sessione nel file specificato.
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| filePath | java.lang.String | Il percorso del file. |