Convolve1.java

C:\ece538\impro3\java Convolve

test3.png

  0  23  46  69  93 116 139 162 186 209 232 
  0  23  46  69  93 116 139 162 186 209 232 
  0  23  49 155 225 229 191 165 186 209 232 
  0  23 145 232 232 232 232 201 186 209 232 
  0  23 223 232 232 232 232 230 186 209 232 
  0  23 223 232 232 232 232 230 186 209 232 
  0  23 145 232 232 232 232 201 186 209 232 
  0  23  49 155 225 229 191 165 186 209 232 
  0  23  46  69  93 116 139 162 186 209 232 
  0  23  46  69  93 116 139 162 186 209 232 
  0  23  46  69  93 116 139 162 186 209 232 

convolution mask

  0   0   0   0   0 
  0   0   0   1   0 
  0   0   0   0   0 
  0   0   0   0   0 
  0   0   0   0   0 

filtered image

 23  46  69  93 116 139 162 186 209 232 232 
 23  46  69  93 116 139 162 186 209 232 232 
 23  46  69  93 116 139 162 186 209 232 232 
 23  49 155 225 229 191 165 186 209 232 232 
 23 145 232 232 232 232 201 186 209 232 232 
 23 223 232 232 232 232 230 186 209 232 232 
 23 223 232 232 232 232 230 186 209 232 232 
 23 145 232 232 232 232 201 186 209 232 232 
 23  49 155 225 229 191 165 186 209 232 232 
 23  46  69  93 116 139 162 186 209 232 232 
 23  46  69  93 116 139 162 186 209 232 232 


Convolve1.java

import java.awt.image.*;
import java.awt.color.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.JFrame;


public class Convolve1 {
	
    public static void main(String [] args) {

	String filename = "test3.png";
	if (args.length>0) filename = args[0];

	ImageFrame f1 = new ImageFrame(filename);
	f1.setLocation(10,10);
	f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	int w = f1.getWidth();
	int h = f1.getHeight();
	listImage.listGray(f1.img,filename);
	//int mask[][] = { {-1, 0, 1},{-2, 0, 2},{-1, 0, 1} };
	//int mask[][] = { {0, 0, 1}, {0, 0, 0}, {0, 0, 0} };;
	int mask[][] = new int[5][5];
	mask[1][3] = 1;
	Convolve c = new Convolve(mask);
	c.showMatrix(mask,"convolution mask");
	BufferedImage outp = c.doConvolve(f1.img);
	listImage.listGray(outp,filename);
	ImageFrame f2 = new ImageFrame(outp,"gray version");
	f2.setLocation(20+w,10);		
    }
}


Maintained by John Loomis, updated Sat Mar 10 20:07:26 2018