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

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


ওপেনসিভির Core ক্লাসের flip() মেথড একটি চিত্রকে x/y অক্ষ অনুযায়ী ফ্লিপ করে। এই মেথড গ্রহণ করে:

  • মূল চিত্রের ডেটা ধারণকারী একটি সোর্স ম্যাট্রিক্স।

  • ফলাফল চিত্রের ডেটা ধারণ করার জন্য একটি খালি ডেস্টিনেশন ম্যাট্রিক্স।

  • চিত্রের দিক নির্দিষ্ট করার জন্য একটি ফ্লিপ কোড (০ – x অক্ষ, +ve – y অক্ষ, -ve – উভয় অক্ষ)।

একটি চিত্র ফ্লিপ করতে -

  • loadLibrary() মেথড ব্যবহার করে ওপেনসিভি কোর নেটিভ লাইব্রেরি লোড করুন।

  • imread() মেথড ব্যবহার করে ইমেজ ফাইলের কন্টেন্ট একটি ম্যাট্রিক্সে পড়ুন।

  • ফলাফল ধারণ করার জন্য একটি খালি ম্যাট্রিক্স তৈরি করুন।

  • উপরের তৈরি ম্যাট্রিক্সগুলো পাস করে flip() মেথড আহ্বান করুন।

  • imwrite() মেথড ব্যবহার করে ডেস্টিনেশন ম্যাট্রিক্স পাস করে একটি ইমেজ তৈরি করুন।

উদাহরণ

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;

public class ChangingOrientation {
    public static void main(String args[]) {
        // ওপেনসিভি কোর লাইব্রেরি লোড করা হচ্ছে
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        
        // ফাইল থেকে ইমেজ পড়ে ম্যাট্রিক্স অবজেক্টে সংরক্ষণ
        String file = "D:\\Images\\cat.jpg";
        Mat src = Imgcodecs.imread(file);
        
        // ফলাফল সংরক্ষণের জন্য খালি ম্যাট্রিক্স তৈরি
        Mat dst = new Mat();
        
        // চিত্রের অরিয়েন্টেশন পরিবর্তন
        Core.flip(src, dst, -1);
        
        // ইমেজ লেখা হচ্ছে
        Imgcodecs.imwrite("D:\\Images\\flipping.jpg", dst);
        System.out.println("Image Processed");
    }
}

ইনপুট

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

আউটপুট

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


  1. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে রঙিন চিত্রকে সেপিয়া (Sepia) চিত্রে রূপান্তর

  2. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে 네가েটিভ চিত্রকে পজিটিভ চিত্রে রূপান্তর

  3. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে রঙিন চিত্রকে গ্রেস্কেলে রূপান্তর

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