Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để tạo ảnh phản chiếu bằng thư viện Java OpenCV?


Để tạo ảnh phản chiếu

  • Đọc hình ảnh được yêu cầu bằng phương thức ImageIO.read ().

  • Lấy chiều cao và chiều rộng của hình ảnh.

  • Tạo một hình ảnh trống trong bộ đệm để lưu trữ kết quả

  • Sử dụng các vòng lặp for lồng nhau đi qua từng pixel trong hình ảnh.

  • Lặp lại chiều rộng của hình ảnh từ phải sang trái.

  • Nhận giá trị pixel bằng phương thức getRGB ().

  • Đặt các giá trị pixel cho đối tượng hình ảnh kết quả bằng phương thức setRGB (), bằng cách thay thế các 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 {
      //Reading the image
      File file= new File("D:\\Images\\tree.jpg");
      BufferedImage img = ImageIO.read(file);
      //Getting the height and with of the read image.
      int height = img.getHeight();
      int width = img.getWidth();
      //Creating Buffered Image to store the output
      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);
            //set mirror image pixel value - both left and right
            res.setRGB(w, j, p);
         }
      }
      //Saving the modified image
      file = new File("D:\\Images\\mirror_image.jpg");
      ImageIO.write(res, "jpg", file);
      System.out.println("Done...");
   }
}

Đầu vào

Làm cách nào để tạo ảnh phản chiếu bằng thư viện Java OpenCV?

Đầu ra

Làm cách nào để tạo ảnh phản chiếu bằng thư viện Java OpenCV?