Convolve1 – Image Translation

   

C:\ece538\impro3>java Convolve1

test2.png

 20  20  60  60  80 130 160 200 200 240 240
 20   0   0   0   0   0   0   0   0   0 240
 30   0 160 160 160 160 160 160 160   0 230
 30   0 160 240 240 240 240 240 160   0 230
 40   0 160 240 240 240   0   0   0   0 220
 50   0 160 240 250 240   0   0   0   0 210
 60   0 160 240 240 240   0   0   0   0 200
 70   0 160 240 240 240 240 240 160   0 190
 70   0 160 160 160 160 160 160 160   0 190
 80   0   0   0   0   0   0   0   0   0 180
 80  80  90  90 120 130 140 170 170 180 180

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

 20  60  60  80 130 160 200 200 240 240 240
 20  60  60  80 130 160 200 200 240 240 240
  0   0   0   0   0   0   0   0   0 240 240
  0 160 160 160 160 160 160 160   0 230 230
  0 160 240 240 240 240 240 160   0 230 230
  0 160 240 240 240   0   0   0   0 220 220
  0 160 240 250 240   0   0   0   0 210 210
  0 160 240 240 240   0   0   0   0 200 200
  0 160 240 240 240 240 240 160   0 190 190
  0 160 160 160 160 160 160 160   0 190 190
  0   0   0   0   0   0   0   0   0 180 180


Convolve1.java


 import javafx.application.Application;
 import javafx.scene.Group;
 import javafx.scene.Scene; 
 import javafx.scene.image.Image;
 //import javafx.scene.image.ImageView;
 import javafx.scene.paint.Color;
 import javafx.stage.Stage;
// import javax.imageio.*;

 import java.util.List;
 import java.awt.image.*;
 import java.io.*;

public class Convolve1 extends Application {
 
     @Override public void start(Stage stage) {
	int mag = 16;
         // load the image
	String file1 = "test2.png";
	List<String> args = getParameters().getRaw();
	String filename =  (args.size()>0)? args.get(0): file1;

	 BufferedImage img = ImageOp.readImage(filename);

	 showImage show1 = new showImage(ImageOp.replicate(img,mag),filename);
	 show1.setStage(stage);
	 stage.setX(100);
	 stage.setY(100);

	double w = stage.getWidth();
	double h = stage.getHeight();
	listImage.listGray(img,filename);

	int mask[][] = new int[5][5];
	mask[1][3] = 1;
	Convolve c = new Convolve(mask);
	c.showMatrix(mask,"convolution mask");
	BufferedImage outp = c.doConvolve(img);
	String cmt = "filtered";
	listImage.listGray(outp,cmt);

	showImage show2 = new showImage(ImageOp.replicate(outp,mag),cmt);
	//show2.writeImage("out1");
	 Stage stage2 = new Stage();
	 show2.setStage(stage2);
	 stage2.setX(140+stage.getWidth());
	 stage2.setY(100);		
    }

     public static void main(String[] args) {
         Application.launch(args);
     }
}


Maintained by John Loomis, updated Sat Mar 10 15:34:21 2018