How can image processing be done in Java?
In Java, image processing can be achieved using Java graphics libraries (JavaFX or AWT) or third-party libraries (such as OpenCV or ImageJ). Here is an example of image processing based on JavaFX.
- Load image:
import javafx.application.Application;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class ImageProcessing extends Application {
@Override
public void start(Stage primaryStage) {
// 加载图像
Image image = new Image("image.jpg");
// 创建图像视图
ImageView imageView = new ImageView(image);
// 创建布局并将图像视图添加到布局中
StackPane root = new StackPane();
root.getChildren().add(imageView);
// 创建场景并将布局添加到场景中
Scene scene = new Scene(root, image.getWidth(), image.getHeight());
// 设置舞台标题并显示舞台
primaryStage.setTitle("Image Processing");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
- Image filters:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.effect.BoxBlur;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class ImageProcessing extends Application {
@Override
public void start(Stage primaryStage) {
// 加载图像
Image image = new Image("image.jpg");
// 创建图像视图
ImageView imageView = new ImageView(image);
// 添加滤镜效果
BoxBlur blur = new BoxBlur();
blur.setWidth(10);
blur.setHeight(10);
blur.setIterations(3);
imageView.setEffect(blur);
// 创建布局并将图像视图添加到布局中
StackPane root = new StackPane();
root.getChildren().add(imageView);
// 创建场景并将布局添加到场景中
Scene scene = new Scene(root, image.getWidth(), image.getHeight());
// 设置舞台标题并显示舞台
primaryStage.setTitle("Image Processing");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
The above examples only demonstrate basic operations of loading images and applying filters. Depending on your needs, you can utilize other graphic effects, pixel operations, and functionalities provided by JavaFX for more advanced image processing.