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

জাভা উদাহরণ: OpenCV-এ Sobel এজ ডিটেকশন

Sobel অপারেটর এজ ডিটেকশনের জন্য একটি ইমেজে হরিজন্টাল এবং ভার্টিক্যাল উভয় দিকেই এজ খুঁজে বের করতে দেয়।

Imgproc ক্লাসের Sobel() মেথড দেওয়া ইমেজে Sobel এজ ডিটেকশন অ্যালগরিদম প্রয়োগ করে। এই মেথড গ্রহণ করে:

  • দুটি 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 SobelEdgeDetection {
    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();
        
        // Sobel ডেরিভেটিভ প্রয়োগ (x:0 y:1)
        Imgproc.Sobel(src, dst, -1, 0, 1);
        HighGui.imshow("Sobel - x:0 & y:1 ", dst);
        HighGui.waitKey();
        
        // Sobel ডেরিভেটিভ প্রয়োগ (x:1 y:0)
        Imgproc.Sobel(src, dst, -1, 1, 0);
        HighGui.imshow("Sobel - x:1 & y:0 ", dst);
        HighGui.waitKey();
        
        // Sobel ডেরিভেটিভ প্রয়োগ (x:1 y:1)
        Imgproc.Sobel(src, dst, -1, 1, 1);
        HighGui.imshow("Sobel - x:1 & y:1 ", dst);
        HighGui.waitKey();
    }
}

আউটপুট

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

Sobel - x:0 & y:1 - জাভা উদাহরণ: OpenCV-এ Sobel এজ ডিটেকশন

Sobel - x:1 & y:0 - জাভা উদাহরণ: OpenCV-এ Sobel এজ ডিটেকশন

Sobel - x:1 & y:1 - জাভা উদাহরণ: OpenCV-এ Sobel এজ ডিটেকশন

  1. ইমেজ প্রসেসিং/ওপেনসিভি ইমেজ ইরোজান জাভা উদাহরণ

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

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

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