如何使用 Java OpenCV 库创建镜像?

javaobject oriented programmingprogramming

创建镜像

  • 使用 ImageIO.read() 方法读取所需图像。

  • 获取图像的高度和宽度。

  • 创建一个空的缓冲图像来存储结果

  • 使用嵌套 for 循环遍历图像中的每个像素。

  • 从右到左迭代图像的宽度。

  • 使用 getRGB() 方法获取像素值。

  • 使用 setRGB() 方法将像素值设置为结果图像对象,通过替换新的宽度值。

示例

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 {
      //读取图像
      File file= new File("D:\Images\tree.jpg");
      BufferedImage img = ImageIO.read(file);
      //获取读取图像的高度和宽度。
      int height = img.getHeight();
      int width = img.getWidth();
      //创建缓冲图像以存储输出
      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);
              //设置镜像像素值 - 左右两侧
            res.setRGB(w, j, p);
         }
      }
      //保存修改后的图像
      file = new File("D:\Images\mirror_image.jpg");
      ImageIO.write(res, "jpg", file);
      System.out.println("Done...");
   }
}

输入

输出


相关文章