কম্পিউটার টিউটোরিয়াল

জাভা ব্যবহার করে ওপেনসিভিতে পলিগন কীভাবে আঁকবেন?


যে পলিগনের সকল আভ্যন্তরীণ কোণ ১৮০ ডিগ্রির চেয়ে কম তাকে কনভেক্স পলিগন বলা হয়। জাভা ওপেনসিভি লাইব্রেরির org.opencv.imgproc প্যাকেজে Imgproc নামক একটি ক্লাস রয়েছে। একটি পলিগন আঁকার জন্য আপনাকে এই ক্লাসের fillConvexPoly() মেথড আহ্বান করতে হবে। এই মেথড ৩টি প্যারামিটার গ্রহণ করে:

  • একটি Mat অবজেক্ট যা সেই চিত্রটি উপস্থাপন করে যেখানে পলিগন আঁকা হবে।

  • একটি MatOfPoint অবজেক্ট যাতে পলিগন আঁকার জন্য পয়েন্টগুলো থাকে।

  • পলিগনের রঙ উপস্থাপনকারী একটি Scalar অবজেক্ট।

উদাহরণ

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 DrawingConvexPolygon {
    public static void main(String args[]) {
        // ওপেনসিভি কোর লাইব্রেরি লোড করা
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        
        // সোর্স ইমেজটি Mat অবজেক্টে পড়া
        Mat src = Imgcodecs.imread("D:\\images\\blank.jpg");
        
        // একটি অ্যারোড লাইন আঁকা
        MatOfPoint points = new MatOfPoint(
            new Point(108, 71), new Point(232, 52),
            new Point(321, 161), new Point(269, 250),
            new Point(126, 232), new Point(108, 71)
        );
        
        Scalar color = new Scalar(64, 64, 64);
        Imgproc.fillConvexPoly(src, points, color);
        
        // ইমেজ সংরক্ষণ এবং প্রদর্শন
        Imgcodecs.imwrite("arrowed_line.jpg", src);
        HighGui.imshow("একটি পলিগন আঁকা", src);
        HighGui.waitKey();
    }
}

আউটপুট

প্রোগ্রামটি এক্সিকিউট করার পর নিচের উইন্ডো তৈরি হবে:

জাভা ব্যবহার করে ওপেনসিভিতে পলিগন কীভাবে আঁকবেন?


  1. জাভা ওপেনসিভি (OpenCV) ব্যবহার করে উপবৃত্ত আঁকার পদ্ধতি

  2. জাভা ওপেনসিভি (OpenCV) ব্যবহার করে রেখা আঁকার পদ্ধতি

  3. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে চিত্র ফ্লিপ (Flip) করা

  4. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে চিত্র লিখা/সংরক্ষণ