জাভা ওপেনসিভি লাইব্রেরির org.opencv.imgproc প্যাকেজে Imgproc নামক একটি ক্লাস রয়েছে যা একটি ইনপুট ইমেজ প্রক্রিয়া করার জন্য বিভিন্ন মেথড প্রদান করে। এটি চিত্রের ওপর জ্যামিতিক আকৃতি আঁকার জন্য মেথডের একটি সেট প্রদান করে।
এই ক্লাসে ellipse() নামে একটি মেথড রয়েছে যার মাধ্যমে আপনি একটি চিত্রে এলিপস আঁকতে পারেন, এই মেথডের একটি ভেরিয়েন্ট আপনাকে লাইন টাইপ প্যারামিটার হিসেবে নির্দিষ্ট করতে দেয় যার মধ্যে রয়েছে:
একটি Mat অবজেক্ট যা সেই চিত্রটি উপস্থাপন করে যেখানে এলিপস আঁকা হবে।
একটি RotatedRect অবজেক্ট (এলিপস এই রেক্ট্যাঙ্গলের ভিতরে আঁকা হয়।)
একটি Scalar অবজেক্ট যা রেক্ট্যাঙ্গলের রঙ উপস্থাপন করে (BGR)।
যদি আপনি প্যারামিটার হিসেবে Imgproc.FILLED পাস করেন তবে এই মেথড একটি ফিল্ড এলিপস জেনারেট করে।
উদাহরণ
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.RotatedRect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class DrawingFilledEllipse {
public static void main(String args[]) {
// ওপেনসিভি কোর লাইব্রেরি লোড করা
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// সোর্স ইমেজটি Mat অবজেক্টে পড়া
Mat src = Imgcodecs.imread("D:\\images\\blank.jpg");
// একটি এলিপস আঁকা
RotatedRect box = new RotatedRect(new Point(300, 200), new Size(260, 180), 180);
Scalar color = new Scalar(64, 64, 64);
int thickness = Imgproc.FILLED;
Imgproc.ellipse(src, box, color, thickness);
// ইমেজ সংরক্ষণ এবং প্রদর্শন
Imgcodecs.imwrite("arrowed_line.jpg", src);
HighGui.imshow("এলিপস আঁকা", src);
HighGui.waitKey();
}
}
আউটপুট
প্রোগ্রামটি এক্সিকিউট করার পর নিচের উইন্ডো তৈরি হবে:
