แพ็คเกจ org.opencv.imgproc ของไลบรารี Java OpenCV มีคลาสชื่อ Imgproc คลาสนี้จัดเตรียมวิธีต่างๆ ในการประมวลผลอิมเมจอินพุต มีชุดวิธีการวาดรูปทรงเรขาคณิตบนรูปภาพ
คลาสนี้มีเมธอดชื่อ ellipse() ด้วยวิธีนี้คุณสามารถวาดวงรีบนรูปภาพได้ หนึ่งในตัวเลือกของวิธีนี้ช่วยให้คุณสามารถระบุประเภทเส้นเป็นหนึ่งในพารามิเตอร์รวมถึง -
-
A เสื่อ วัตถุที่แสดงภาพที่จะวาดวงรี
-
A RotatedRect วัตถุ (วงรีถูกวาดไว้ในสี่เหลี่ยมนี้)
-
A สเกลาร์ วัตถุที่แสดงสีของสี่เหลี่ยมผืนผ้า (BGR)
หากคุณผ่าน Imgproc.FILLED เป็นพารามิเตอร์ที่วิธีนี้สร้าง eclipse ที่เติม
ตัวอย่าง
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[]) {
// Loading the OpenCV core library
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
//Loading the OpenCV core library
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
//Reading the source image in to a Mat object
Mat src = Imgcodecs.imread("D:\\images\\blank.jpg");
//Drawing an ellipse
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);
//Saving and displaying the image
Imgcodecs.imwrite("arrowed_line.jpg", src);
HighGui.imshow("Drawing an ellipse", src);
HighGui.waitKey();
}
} ผลลัพธ์
ในการดำเนินการ โปรแกรมข้างต้นจะสร้างหน้าต่างต่อไปนี้ -
