Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách tạo hình ảnh gương (mirror) bằng Java OpenCV


Để tạo hình ảnh gương:

  1. Đọc hình ảnh cần thiết bằng phương thức ImageIO.read().
  2. Lấy chiều cao và chiều rộng của hình ảnh.
  3. Tạo BufferedImage rỗng để lưu kết quả.
  4. Dùng vòng lặp for lồng nhau duyệt qua từng pixel trong hình ảnh.
  5. Duyệt chiều rộng từ phải sang trái.
  6. Lấy giá trị pixel bằng phương thức getRGB().
  7. Gán giá trị pixel vào hình ảnh kết quả bằng setRGB(), thay thế giá trị chiều rộng mới.

Ví dụ

import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class MirrorImage {
public static void main(String args[]) throws IOException {
// Đọc hình ảnh
File file = new File("D:\\Images\\tree.jpg");
BufferedImage img = ImageIO.read(file);
// Lấy chiều cao và chiều rộng
int height = img.getHeight();
int width = img.getWidth();
// Tạo BufferedImage để lưu đầu ra
BufferedImage res = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
for (int j = 0; j < height; j++) {
for (int i = 0, w = width - 1; i < width; i++, w--) {
int p = img.getRGB(i, j);
// Gán giá trị pixel cho ảnh gương - cả trái và phải
res.setRGB(w, j, p);
}
}
// Lưu hình ảnh đã chỉnh sửa
file = new File("D:\\Images\\mirror_image.jpg");
ImageIO.write(res, "jpg", file);
System.out.println("Hoàn tất...");
}
}

Ảnh đầu vào

Cách tạo hình ảnh gương (mirror) bằng Java OpenCV

Ảnh đầu ra

Cách tạo hình ảnh gương (mirror) bằng Java OpenCV