c:\ece538\impro5>java Erode1 structuring element 0 1 0 1 1 1 0 1 0
Erode1.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 Erode1 extends Application {
@Override public void start(Stage stage) {
int mag = 3;
// load the image
String file1 = "char.png";
List<String> args = getParameters().getRaw();
String filename = (args.size()>0)? args.get(0): file1;
BufferedImage img = showImage.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();
//int mask[][] = {{0,1,1,1,0},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{0,1,1,1,0}};
int mask[][] = {{0,1,0},{1,1,1},{0,1,0}};
bwOps c = new bwOps(mask);
c.showMatrix(mask,"structuring element");
BufferedImage outp = c.doErode(img);
String cmt = "eroded";
showImage show2 = new showImage(ImageOp.replicate(outp,mag),cmt);
showImage.writeImage(outp,"erode1","png");
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 Sun Mar 11 10:45:39 2018