Java OpenCV लाइब्रेरी के org.opencv.imgproc पैकेज में Imgproc नामक एक क्लास होती है जो इनपुट छवि को संसाधित करने के लिए विभिन्न मेथड्स प्रदान करती है। यह छवियों पर ज्यामितीय आकार बनाने के लिए मेथड्स का एक सेट प्रदान करती है।
यह क्लास ellipse() नामक एक मेथड प्रदान करती है जिसका उपयोग करके आप छवि पर एक दीर्घवृत्त बना सकते हैं, इस मेथड का एक संस्करण आपको पैरामीटर्स में से एक के रूप में लाइन प्रकार निर्दिष्ट करने की अनुमति देता है जिसमें शामिल हैं -
एक Mat ऑब्जेक्ट जो उस छवि का प्रतिनिधित्व करता है जिस पर दीर्घवृत्त बनाया जाना है।
एक RotatedRect ऑब्जेक्ट (दीर्घवृत्त इस आयत में अंकित होता है।)
एक Scalar ऑब्जेक्ट जो आयत के रंग का प्रतिनिधित्व करता है (BGR)।
यदि आप पैरामीटर के रूप में Imgproc.FILLED पास करते हैं तो यह मेथड एक भरा हुआ दीर्घवृत्त उत्पन्न करता है।
उदाहरण
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[]) {
// OpenCV कोर लाइब्रेरी लोड करना
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// स्रोत छवि को Mat ऑब्जेक्ट में पढ़ना
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();
}
}
आउटपुट
उपरोक्त प्रोग्राम निष्पादित करने पर निम्नलिखित विंडो उत्पन्न होती है -
