This commit is contained in:
Andre Meyering 2019-03-28 10:43:24 +01:00
parent 7342d2ee89
commit cc8d9ba01a
18 changed files with 224 additions and 26 deletions

View file

@ -0,0 +1,72 @@
<pre><div class="text_to_html">import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
import ij.IJ;
import ij.ImagePlus;
import ij.gui.GenericDialog;
import ij.plugin.filter.PlugInFilter;
import ij.process.ImageProcessor;
public class Filter_Laplace implements PlugInFilter {
ImagePlus imp;
public int setup(String arg, ImagePlus imp) {
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor orig) {
int w = orig.getWidth();
int h = orig.getHeight();
double [] [] filter1 = {
{ 0 , 1 , 0 },
{ 1, -4 , 1},
{ 0 , 1, 0 }
};
double [] [] filter2 = {
{ 1 , 2 , 1 },
{ 0 , 0 , 0 },
{ -1 , -2, -1 }
};
ImageProcessor copy = orig.duplicate();
for (int v = 1; v <= h-2; v++) {
for (int u = 1; u <= w-2; u++){
double sum1 = 0;
// double sum2 = 0;
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++){
int p = copy.getPixel(u-i,v-j);
double c1 = filter1[j+1][i+1];
// double c2 = filter2[j+1][i+1];
sum1 = sum1 + p*c1 ;
// sum2 = sum2 + p*c2;
}
}
int q = (int) Math.round(sum1);
// int q = (int) Math.round(Math.sqrt(sum1*sum1+sum2*sum2));
orig.putPixel(u,v,q);
}
}
}
}
</div></pre>

View file

@ -0,0 +1,44 @@
<pre><div class="text_to_html">import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.PlugInFilter;
import java.util.Arrays;
public class Filter_Median5 implements PlugInFilter {
public int setup(String arg, ImagePlus imp) {
return DOES_ALL;
}
public void run(ImageProcessor orig) {
int w = orig.getWidth();
int h = orig.getHeight();
ImageProcessor copy = orig.duplicate();
int[] P = new int[9]; //Vector to hold Pixel from 3x3 matrix
for (int v = 1; v <= h-2 ; v++) {
for (int u = 1; u <= w-2; u++) {
int k = 0;
for (int j=-1; j<=1; j++){
for (int i=-1; i<=1; i++){
P[k] = copy.getPixel(u+i,v+j);
k++;
}
}
Arrays.sort(P);
orig.putPixel(u,v, P[4]);
}
}
}
}
</div></pre>

View file

@ -0,0 +1,72 @@
<pre><div class="text_to_html">import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
import ij.IJ;
import ij.ImagePlus;
import ij.gui.GenericDialog;
import ij.plugin.filter.PlugInFilter;
import ij.process.ImageProcessor;
public class Filter_operator implements PlugInFilter {
ImagePlus imp;
public int setup(String arg, ImagePlus imp) {
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor orig) {
int w = orig.getWidth();
int h = orig.getHeight();
double [] [] filter1 = {
{ 1 , 0 , -1 },
{ 2 , 0 , -2},
{ 1 , 0, -1 }
};
double [] [] filter2 = {
{ 1 , 2 , 1 },
{ 0 , 0 , 0 },
{ -1 , -2, -1 }
};
ImageProcessor copy = orig.duplicate();
for (int v = 1; v <= h-2; v++) {
for (int u = 1; u <= w-2; u++){
double sum1 = 0;
double sum2 = 0;
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++){
int p = copy.getPixel(u-i,v-j);
double c1 = filter1[j+1][i+1];
double c2 = filter2[j+1][i+1];
sum1 = sum1 + p*c1 ;
sum2 = sum2 + p*c2;
}
}
// int q = (int) Math.round(sum1);
int q = (int) Math.round(Math.sqrt(sum1*sum1+sum2*sum2));
orig.putPixel(u,v,q);
}
}
}
}
</div></pre>

Binary file not shown.