OpenCV - Xoay vòng

Bạn có thể perform rotation hoạt động trên một hình ảnh bằng cách sử dụng warpAffine() phương pháp của imgproclớp học. Sau đây là cú pháp của phương thức này:

Imgproc.warpAffine(src, dst, rotationMatrix, size);

Phương thức này chấp nhận các tham số sau:

  • src - A Mat đối tượng đại diện cho nguồn (hình ảnh đầu vào) cho hoạt động này.

  • dst - A Mat đối tượng đại diện cho đích (hình ảnh đầu ra) cho hoạt động này.

  • rotationMatrix - A Mat đối tượng biểu diễn ma trận xoay.

  • size - Một biến kiểu số nguyên đại diện cho kích thước của hình ảnh đầu ra.

Thí dụ

Chương trình sau đây trình bày cách xoay một hình ảnh.

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Size;

import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class Rotation {
   public static void main(String args[]) {
      // Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );

      // Reading the Image from the file and storing it in to a Matrix object
      String file ="E:/OpenCV/chap24/transform_input.jpg";
      Mat src = Imgcodecs.imread(file);

      // Creating an empty matrix to store the result
      Mat dst = new Mat();

      // Creating a Point object
      Point point = new Point(300, 200)

      // Creating the transformation matrix M
      Mat rotationMatrix = Imgproc.getRotationMatrix2D(point, 30, 1);

      // Creating the object of the class Size
      Size size = new Size(src.cols(), src.cols());

      // Rotating the given image
      Imgproc.warpAffine(src, dst, rotationMatrix, size);

      // Writing the image
      Imgcodecs.imwrite("E:/OpenCV/chap24/rotate_output.jpg", dst);

      System.out.println("Image Processed");
   }
}

Giả sử rằng sau đây là hình ảnh đầu vào transform_input.jpg được chỉ định trong chương trình trên.

Đầu ra

Khi thực hiện chương trình, bạn sẽ nhận được kết quả sau:

Image Processed

Nếu bạn mở đường dẫn được chỉ định, bạn có thể quan sát hình ảnh đầu ra như sau: