Scharr অপারেটর এজ ডিটেকশনের জন্য একটি ইমেজে হরিজন্টাল এবং ভার্টিক্যাল উভয় দিকেই এজ খুঁজে বের করতে দেয়।
Imgproc ক্লাসের Scharr() মেথড দেওয়া ইমেজে Scharr এজ ডিটেকশন অ্যালগরিদম প্রয়োগ করে। এই মেথড গ্রহণ করে:
- দুটি Mat অবজেক্ট যা সোর্স এবং ডেস্টিনেশন ইমেজকে প্রতিনিধিত্ব করে।
- একটি ইন্টিজার ভেরিয়েবল যা ইমেজের ডেপথকে প্রতিনিধিত্ব করে।
- দুটি ডাবল ভেরিয়েবল যা x এবং y ডেরিভেটিভ ধারণ করে।
উদাহরণ
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ScharrEdgeDetection {
public static void main(String args[]) {
// OpenCV কোর লাইব্রেরি লোড করা
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
String file = "D:\\Images\\win2.jpg";
Mat src = Imgcodecs.imread(file);
// ডেস্টিনেশন ইমেজের জন্য খালি ম্যাট্রিক্স
Mat dst = new Mat();
// Scharr ডেরিভেটিভ প্রয়োগ (x:1 y:0)
Imgproc.Scharr(src, dst, Imgproc.CV_SCHARR, 0, 1);
HighGui.imshow("Scharr - x:0 & y:1 ", dst);
// Scharr ডেরিভেটিভ প্রয়োগ (x:1 y:0)
Imgproc.Scharr(src, dst, Imgproc.CV_SCHARR, 1, 0);
HighGui.imshow("Scharr - x:1 & y:0 ", dst);
HighGui.waitKey();
}
}
ইনপুট ইমেজ

আউটপুট
প্রোগ্রাম এক্সিকিউট করলে নিচের উইন্ডোগুলো জেনারেট হবে:
Scharr - x:0 & y:1 - 
Scharr - x:1 & y:0 - 