Java OpenCV लाइब्रेरी के org.opencv.imgproc पैकेज में Imgproc नामक एक क्लास होती है जो इनपुट छवि को संसाधित करने के लिए विभिन्न मेथड्स प्रदान करती है जैसे resize(), filter2D, आदि। इसके अलावा यह छवियों पर ज्यामितीय आकार बनाने के लिए मेथड्स का एक सेट प्रदान करती है।
उनमें से पॉलीलाइन्स बनाने के लिए आपको इस क्लास के polylines() मेथड को इनवोक करना होगा। यह मेथड निम्नलिखित पैरामीटर्स स्वीकार करता है -
एक Mat ऑब्जेक्ट जो उस छवि का प्रतिनिधित्व करता है जिस पर पॉलीगॉन बनाया जाना है।
MatOfPoint टाइप के ऑब्जेक्ट्स को धारण करने वाला एक List ऑब्जेक्ट।
बूलियन टाइप का एक पैरामीटर जो निर्दिष्ट करता है कि पॉली-लाइन्स बंद हैं या नहीं।
पॉलीगॉन के रंग का प्रतिनिधित्व करने वाला एक Scalar ऑब्जेक्ट।
पॉलीगॉन की मोटाई का प्रतिनिधित्व करने वाला एक पूर्णांक (डिफ़ॉल्ट: 1)।
उदाहरण
import java.util.ArrayList;
import java.util.List;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.Point;
import org.opencv.core.Scalar;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class DrawingPolyines {
Mat matrix = null;
public static void main(String args[]) {
// OpenCV कोर लाइब्रेरी लोड करना
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// स्रोत छवि को Mat ऑब्जेक्ट में पढ़ना
Mat src = Imgcodecs.imread("D:\\images\\blank.jpg");
// पॉलीगॉन बनाना
List<MatOfPoint> list = new ArrayList<MatOfPoint>();
list.add(new MatOfPoint(
new Point(208, 71), new Point(421, 161),
new Point(226, 232), new Point(332, 52),
new Point(363, 250)));
boolean isClosed = true;
Scalar color = new Scalar(64, 64, 64);
int thickness = 10;
Imgproc.polylines(src, list, isClosed, color, thickness);
// छवि सहेजना और प्रदर्शित करना
Imgcodecs.imwrite("arrowed_line.jpg", src);
HighGui.imshow("Drawing a polylines", src);
HighGui.waitKey();
}
}
आउटपुट
उपरोक्त प्रोग्राम निष्पादित करने पर निम्नलिखित विंडो उत्पन्न होती है -
