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.java
import 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