জাভা OpenCV লাইব্রেরির org.opencv.imgproc প্যাকেজে Imgproc নামে একটি ক্লাস রয়েছে এই ক্লাসটি একটি ইনপুট ইমেজ প্রসেস করার জন্য বিভিন্ন পদ্ধতি প্রদান করে যেমন resize(), filter2D, ইত্যাদি। এগুলি ছাড়াও এটি ছবির উপর জ্যামিতিক আকৃতি আঁকার পদ্ধতির একটি সেটও প্রদান করে।
তাদের মধ্যে একটি পলিলাইন আঁকার জন্য আপনাকে পলিলাইন() আহ্বান করতে হবে এই শ্রেণীর পদ্ধতি। এই পদ্ধতিটি নিম্নলিখিত পরামিতিগুলি গ্রহণ করে −
-
একটি ম্যাট অবজেক্ট ইমেজ প্রতিনিধিত্ব করে যার উপর বহুভুজ আঁকা হবে।
-
এ-লিস্ট অবজেক্ট ম্যাটঅফপয়েন্ট টাইপের অবজেক্ট ধারণ করে।
-
পলি-লাইনগুলি বন্ধ করা হয়েছে কিনা তা নির্দিষ্ট করে বুলিয়ান টাইপের একটি প্যারামিটার৷
৷ -
বহুভুজের রঙের প্রতিনিধিত্বকারী একটি স্কেলার বস্তু।
-
বহুভুজের পুরুত্বের প্রতিনিধিত্বকারী একটি পূর্ণসংখ্যা(ডিফল্ট: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[]) { //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 polygon 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); //Saving and displaying the image Imgcodecs.imwrite("arrowed_line.jpg", src); HighGui.imshow("Drawing a polylines", src); HighGui.waitKey(); } }
আউটপুট
কার্যকর করার সময়, উপরের প্রোগ্রামটি নিম্নলিখিত উইন্ডোটি তৈরি করে -