কন্টুর হলো একটি নির্দিষ্ট আকৃতির বাউন্ডারি লাইন আঁকা যা সকল পয়েন্টকে জড়ে। এর ব্যবহার করে আপনি:
- একটি অবজেক্টের আকৃতি খুঁজে পেতে পারেন।
- একটি অবজেক্টের এলিয়া ক্যালকুলেট করতে পারেন।
- একটি অবজেক্ট ডিটেক্ট করতে পারেন।
- একটি অবজেক্ট রিকগনাইজ করতে পারেন।
আপনি findContours() মেথড ব্যবহার করে একটি ইমেজে বিভিন্ন আকৃতি, অবজেক্টের কন্টুর খুঁজে পেতে পারেন। একইভাবে আপনি আঁকতে পারেন।
আপনি drawContours() মেথড ব্যবহার করে খুঁজে পাওয়া কন্টুরগুলো আঁকতে পারেন। এই মেথড নিচের প্যারামিটার গ্রহণ করে:
- রেজাল্ট ইমেজ স্টোর করার জন্য একটি খালি Mat অবজেক্ট।
- খুঁজে পাওয়া কন্টুর ধারণকারী একটি লিস্ট অবজেক্ট।
- একটি ইন্টিজার ভ্যালু যা কোন কন্টুর আঁকবে তা নির্দেশ করে (-ve ভ্যালু সব আঁকার জন্য)।
- কন্টুরের রঙ নির্দিষ্ট করার জন্য একটি 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 DrawingContours {
public static void main(String args[]) throws Exception {
// OpenCV কোর লাইব্রেরি লোড করা
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
String file = "D:\\Images\\shapes.jpg";
Mat src = Imgcodecs.imread(file);
// সোর্স ইমেজকে বাইনারি-তে কনভার্ট
Mat gray = new Mat(src.rows(), src.cols(), src.type());
Imgproc.cvtColor(src, gray, Imgproc.COLOR_BGR2GRAY);
Mat binary = new Mat(src.rows(), src.cols(), src.type(), new Scalar(0));
Imgproc.threshold(gray, binary, 100, 255, Imgproc.THRESH_BINARY_INV);
// কন্টুর খুঁজা
List contours = new ArrayList<>();
Mat hierarchey = new Mat();
Imgproc.findContours(binary, contours, hierarchey, Imgproc.RETR_TREE,
Imgproc.CHAIN_APPROX_SIMPLE);
// কন্টুর আঁকা
Scalar color = new Scalar(0, 0, 255);
Imgproc.drawContours(src, contours, -1, color, 2, Imgproc.LINE_8,
hierarchey, 2, new Point());
HighGui.imshow("Drawing Contours", src);
HighGui.waitKey();
}
}
ইনপুট ইমেজ

আউটপুট
প্রোগ্রাম এক্সিকিউট করলে নিচের উইন্ডো জেনারেট হবে:
