Java OpenCV लाइब्रेरी के org.opencv.imgproc पैकेज में Imgproc नामक एक क्लास होती है जो resize(), wrapAffine(), filter2D जैसे विभिन्न मेथड्स प्रदान करती है ताकि इनपुट छवि को संसाधित किया जा सके।
इनके अलावा यह छवियों पर ज्यामितीय आकार बनाने के लिए मेथड्स का एक सेट प्रदान करती है, जिनमें से कुछ निम्नलिखित हैं -
| आकार | मेथड और विवरण |
|---|---|
| दीर्घवृत्त | आप ellipse() मेथड का उपयोग करके छवि पर दीर्घवृत्त बना सकते हैं। |
| वृत्त | आप circle() मेथड का उपयोग करके छवि पर वृत्त बना सकते हैं। |
| आयत | आप rectangle() मेथड का उपयोग करके छवि पर आयत बना सकते हैं। |
| पॉलीगॉन | आप polygon() मेथड का उपयोग करके छवि पर पॉलीगॉन बना सकते हैं। |
| रेखा | आप line() मेथड का उपयोग करके छवि पर रेखा बना सकते हैं। |
उदाहरण
निम्नलिखित Java उदाहरण एक खाली OpenCV छवि पर विभिन्न आकार बनाता है -
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.Point;
import org.opencv.core.RotatedRect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import org.opencv.highgui.HighGui;
import java.util.ArrayList;
import java.util.List;
public class DrawingGeometricalShapes {
public static void main(String args[]) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat src = Imgcodecs.imread("D:\\blank.jpg");
Scalar color = new Scalar(0, 0, 120);
// वृत्त बनाना
Imgproc.circle(src, new Point(75, 65), 40, color, Imgproc.FILLED);
// दीर्घवृत्त बनाना
Imgproc.ellipse(src, new RotatedRect(new Point(330, 60), new Size(100, 65), 180), color, Imgproc.FILLED);
// रेखा बनाना
Imgproc.line(src, new Point(540, 30), new Point(540, 90), color, 5);
// भरा हुआ पॉलीगॉन बनाना
List<MatOfPoint> list = new ArrayList();
list.add(new MatOfPoint(
new Point(410, 60), new Point(430, 30),
new Point(470, 30), new Point(490, 60),
new Point(470, 100), new Point(430, 100)
));
Imgproc.fillPoly(src, list, color, 8);
// आयत बनाना
Imgproc.rectangle(src, new Point(150, 30), new Point(250, 95), color, Imgproc.FILLED);
HighGui.imshow("Geometrical shapes", src);
HighGui.waitKey();
}
}
आउटपुट
