แพ็คเกจ 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(); } }
ผลลัพธ์
ในการดำเนินการ โปรแกรมข้างต้นจะสร้างหน้าต่างต่อไปนี้ -