Manejo de Imagenes
import ij.IJ;
import ij.ImagePlus;
import ij.WindowManager;
import ij.process.*;
import ij.gui.GenericDialog;
import ij.gui.*;
import ij.plugin.filter.PlugInFilterRunner;
import java.awt.*;
import ij.plugin.filter.*;
public class Filtro_Control_Movimiento implements PlugInFilter
{
static double alpha = 0.5;
ImagePlus Iplus = null;
public int setup(String arg, ImagePlus imp)
{
return DOES_8G;
}
public void run(ImageProcessor ip)
{
if(runDialog())
{
ImageProcessor Ipro = Iplus.getProcessor().convertToByte(false);
Ipro = Ipro.duplicate();
Ipro.multiply(1-alpha);
Ipro.multiply(alpha);
Ipro.copyBits(Ipro, 0, 0, Blitter.ADD);
}
}
boolean runDialog()
{
int [] windowList = WindowManager.getIDList();
if (windowList == null)
{
IJ.noImage();
return false;
}
String[] windowTitles = new String[windowList.length];
for(int i=0; i
{
ImagePlus im = WindowManager.getImage(windowList[i]);
if(im == null)
windowTitles[i] = "untitled";
else
windowTitles[i] = im.getShortTitle();
}
GenericDialog gd =new GenericDialog("Alpha Blending");
gd.addChoice("Foreground image:",windowTitles, windowTitles[0]);
gd.addNumericField("Alpha value [0..1]:", alpha, 2);
gd.showDialog();
if(gd.wasCanceled())
return false;
else{
int fgIdx = gd.getNextChoiceIndex();
Iplus=WindowManager.getImage(windowList[fgIdx]);
alpha=gd.getNextNumber();
return true;
}
}
}
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario