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

Cách vẽ elip tô đặc (filled ellipse) trong OpenCV bằng Java

Gói org.opencv.imgproc chứa lớp Imgproc cung cấp các phương thức vẽ hình học. Để vẽ elip, dùng phương thức ellipse(). Một biến thể cho phép truyền tham số kiểu đường vẽ, trong đó có Imgproc.FILLED để vẽ elip tô đặc.

Tham số chính:

  • Đối tượng Mat – hình ảnh đích.
  • Đối tượng RotatedRect – elip sẽ được vẽ nội tiếp trong hình chữ nhật xoay này.
  • Đối tượng Scalar – màu sắc (BGR).
  • Độ dày đường vẽ – truyền Imgproc.FILLED để tô đặc.

Ví dụ

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.RotatedRect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class DrawingFilledEllipse {
    public static void main(String args[]) {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat src = Imgcodecs.imread("D:\\images\\blank.jpg");
        RotatedRect box = new RotatedRect(new Point(300, 200), new Size(260, 180), 180);
        Scalar color = new Scalar(64, 64, 64);
        int thickness = Imgproc.FILLED;
        Imgproc.ellipse(src, box, color, thickness);
        Imgcodecs.imwrite("arrowed_line.jpg", src);
        HighGui.imshow("Drawing an ellipse", src);
        HighGui.waitKey();
    }
}

Kết quả

Chương trình hiển thị cửa sổ với elip tô đặc:

Cách vẽ elip tô đặc (filled ellipse) trong OpenCV bằng Java