C:\ece538\impro3>java Convolve2 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 1 2 1 2 4 2 1 2 1 test3.png 5 23 46 69 92 116 139 162 185 209 226 5 23 51 88 121 141 152 165 185 209 226 5 29 80 142 185 196 187 180 188 209 226 5 46 129 199 226 228 218 201 195 209 226 5 62 165 224 232 232 229 215 200 209 226 5 62 165 224 232 232 229 215 200 209 226 5 46 129 199 226 228 218 201 195 209 226 5 29 80 142 185 196 187 180 188 209 226 5 23 51 88 121 141 152 165 185 209 226 5 23 46 69 92 116 139 162 185 209 226 5 23 46 69 92 116 139 162 185 209 226
Convolve2.javaimport javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import java.util.List;
import java.awt.image.*;
import java.io.*;
public class Convolve2 extends Application {
@Override public void start(Stage stage) {
String file1 = "test3.png";
List<String> args = getParameters().getRaw();
String filename = args.size()>0? args.get(0): file1;
BufferedImage img = ImageOp.readImage(filename);
int mag = 16;
showImage show1 = new showImage(ImageOp.replicate(img,mag),filename);
show1.setStage(stage);
stage.setX(100);
stage.setY(100);
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(img);
listImage.listGray(outp,filename);
showImage show2 = new showImage(ImageOp.replicate(outp,mag),"bipolar");
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 18:37:31 2018