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