|
convolution mask 1 2 1 2 4 2 1 2 1 |
|
C:\ece538\2019\impro2>java Convolve2
spot.png 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
filtered 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 47 63 63 47 15 0 0 0 0 47 143 191 191 143 47 0 0 0 0 63 191 255 255 191 63 0 0 0 0 63 191 255 255 191 63 0 0 0 0 47 143 191 191 143 47 0 0 0 0 15 47 63 63 47 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
See Convolve.java
Convolve2.javaimport java.awt.image.*;
import java.io.*;
import javax.swing.*;
public class Convolve2 {
public static void main(String[] args) {
String filename = args.length>0? args[0]: "spot.png";
int mag = 16;
ImagePanel p1 = new ImagePanel(filename);
p1.setMag(mag);
ImageFrame f1 = new ImageFrame(p1);
f1.setLocation(100,100);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//listImage.listGray(img,filename);
int mask[][] = { {1, 2, 1}, {2, 4, 2}, {1, 2, 1} };;
Convolve c = new Convolve(mask);
c.setScale(16);
c.showMatrix(mask,"convolution mask");
BufferedImage outp = c.doConvolve(f1.getImage());
//listImage.listGray(outp,filename);
ImagePanel p2 = new ImagePanel(outp,"smoothed");
p2.setMag(mag);
//p2.writeImage("smoothed.jpg");
ImageFrame f2 = new ImageFrame(p2);
f2.setLocation(140+f1.getWidth(),100);
f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Maintained by John Loomis, updated Thu Mar 19 13:22:31 2020