Powered By Blogger

miércoles, 25 de febrero de 2009

4) ALPHA BLENDING

Creado por: DANIEL DAVILA C.

import ij.IJ;
import ij.ImagePlus;
import ij.WindowsManager;
import ij.gui.GenericDialog;
import ij.Plugin.Filter.PluginFilter;
import ij.proces;

public class Alpha_Blending implements PlugInfilter {

static double alpha = 05;
ImagePlus fgIm = null;

public int setup (ImageProcessor bgIp)
{
return DOES_BG;
}

public void run (ImageProcessor bgIp)
{
if (runDialog())
{
ImageProcessor fgIp=fgIm.getProcessor().converToByte(false)
fgIp = fgIp.duplicate();
fgIp.multiply(1-alpha);
bgIp.multiply(alpha);
bgIp.copyBits(fgIp, 0, 0, Blitter.ADD)
}
}

boolean runDialog()
{
int [] windowslist = WindowsManager.getIDList();
if ()windowsList == null)
{
IJ.noImage();
return false;
}
String [] windowsTitles = new String [windowslist.length];
for(int i=; i< windowsLength; i++)
{
ImagePlus im = WindowsManager.getImage(windowsList[i]);
if (im == null)
windowsTiltles[i]= "untitled";
else
windowsTitles[i]=im.getShortTitle();
}
GenericDialog gd = new GenericDialog ("Alpha_Blending");
gd.addChoice("ForeGround image:", windowsTitles, windowsTiltles[0]);
gd.addNumericField("Alpha value [0..1];",alpha, 2);
gd.showDialog();
if (gd.waasCanceled())
return false;
else
{
int fgIdx = gd.getNextChoiceIndex();
fgIm = WindowsManager.getImage(windowsList[fgIdx]);
alpha = gd.getNextnumeber();
return true;
}
}
}

Alpha_Blending

import ij.IJ;
import ij.ImagePlus;
import ij.WindowManager;
import ij.gui.GenericDialog;
import ij.plugin.filter.PlugInFilter;
import ij.process.*;

public class Alpha_Blending implements PlugInFilter {
static double alpha = 0.5;
ImagePlus fqIm=null;
public int setup(String arg, ImagePlus imp){
return DOES_8G;
}

public void run(ImageProcessor bgIp) {

if (runDialog()){

ImageProcessor fgIp=fgIm.getProcessor().convertToByte(false);
fqIp=fgIp.duplicate();
fgIp.multiply(1-alpha);
bgIp.multiply(alpha);
bgIp.CopyBits(fqIp,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 = 0; i < windowlist.length; i++){
ImagePlus im = WindowManager.getImage(windowsList[i]);
if (im == null)
windowTitles[i] = "untitled";
else
windowsTitles[i]= im.getShortTitle();
}

GenericDialog gd = new GenericDialog("Alpha Bleding");
gd.addChoice("Foreground image:",
windowTitles, windowsTitles[0]);
gd.addNumericField("Alpha value [0..1]:", alpha, 2);
gd.showDialog())
return false;
elsae {
int fgIdx=gd.getNextChoiceIndex();
fglm=WindowManager.getImage(windowList[fgIdx]);
alpha=gd.getNextNumber();
return true;
}
}
}//end of class Alpha_Blending

Brillo y Contraste

import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;

public class ejemplo3 implements PlugInFilter
{
ImagePlus imp;

public int setup(String arg, ImagePlus imp)
{
this.imp = imp;
return DOES_ALL;
}

public void run(ImageProcessor ip)
{

int s=ip.getWidth();
int d=ip.getHeight();
for(int i=0;i {
for(int j=0;j {
int o=ip.getPixel(i,j);
o=(int)(o*0.5+1.5);
ip.putPixel(i,j,255-0);
}ip.setPixel(i,j,255+o);

}
}

}

Ecualizar una imagen

import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;

public class Filter_Plugin1 implements PlugInFilter {
ImagePlus imp;

public int setup(String arg, ImagePlus imp) {
this.imp = imp;
return DOES_ALL;
}

public void run(ImageProcessor ip) {
int [ ]H=ip.getHistogram();
int a=ip.getWidth();
int b=ip.getHeight();
int ck=256;
int w,h ;
for(int i=1;i
H[i]=H[i-1]+H[i];
}

for(int i=0;i
for(int j=0;j
w=ip.getPixel(i,j);
h=(int)(w*(k-1)/(w*h));
ip.putPixel(i,j,h);
}
}

}

}

Umbralización

import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;

public class ejemplo1 implements PlugInFilter
{
ImagePlus imp;

public int setup(String arg, ImagePlus imp)
{
this.imp = imp;
return DOES_ALL;
}

public void run(ImageProcessor ip)
{

int a=ip.getWidth();
int b=ip.getHeight();
for(int i=0;i{
for(int j=0;j{
int m=ip.getPixel(i,j);
if(p<50)
{
m=0;
}
if(p>50)
{
m=255;
}
im.putPixel(i,j,255-p);
}

}
}

}