Java OpenCV लाइब्रेरी के org.opencv.imgproc पैकेज में Imgproc नामक एक क्लास होती है। भरा हुआ बहुभुज बनाने के लिए आपको इस क्लास के fillPoly() मेथड को इनवोक करना होगा। यह मेथड निम्नलिखित पैरामीटर्स स्वीकार करता है -
वह Mat ऑब्जेक्ट जिस पर बहुभुज बनाया जाना है।
MatOfPoint टाइप के ऑब्जेक्ट्स को रखने वाला एक लिस्ट ऑब्जेक्ट।
बहुभुज का रंग दर्शाने वाला एक Scalar ऑब्जेक्ट।
लाइन टाइप दर्शाने वाला एक इंटीजर।
उदाहरण
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 DrawingFilledPolygon {
public static void main(String args[]) {
// OpenCV कोर लाइब्रेरी लोड करना
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// स्रोत इमेज को Mat ऑब्जेक्ट में पढ़ना
Mat src = Imgcodecs.imread("D:\\images\\blank.jpg");
// बहुभुज बनाना
List list = new ArrayList();
list.add(new MatOfPoint(
new Point(208, 71), new Point(421, 161),
new Point(332, 52), new Point(369, 250),
new Point(421, 161), new Point(226, 232),
new Point(369, 250), new Point(208, 71),
new Point(226, 232), new Point(332, 52)
));
Scalar color = new Scalar(64, 64, 64);
int lineType = Imgproc.LINE_8;
Imgproc.fillPoly(src, list, color, lineType);
// इमेज सेव और प्रदर्शित करना
Imgcodecs.imwrite("arrowed_line.jpg", src);
HighGui.imshow("बहुभुज बनाना", src);
HighGui.waitKey();
}
}
आउटपुट
उपरोक्त प्रोग्राम निष्पादित करने पर निम्नलिखित विंडो उत्पन्न करता है -
