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

OpenCV-এ Direct Access মেথড দিয়ে পিক্সেল মান পরিবর্তন করা


'at' মেথডে পিক্সেল অ্যাক্সেস করার সময় ইমেজ টাইপ নির্দিষ্ট করতে হয়। Direct Access মেথডটি আরও সহজ। এখানে Mat<Vec3b> বা অন্য টাইপ ডিক্লেয়ার করে সরাসরি পিক্সেল ম্যানিপুলেশন করা যায়। নিচের প্রোগ্রামটি র‍্যান্ডমলি ৪০০০টি পিক্সেলকে কালো (০) করে নয়েজ তৈরি করে।

উদাহরণ কোড

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;

void direct_access(Mat_<Vec3b> &image, int n) {
    for (int x = 0; x < n; x++) {
        int i = rand() % image.cols;  // র‍্যান্ডম কলাম
        int j = rand() % image.rows;  // র‍্যান্ডম সারি
        image(j, i) = 0;              // পিক্সেলকে কালো করুন (সभी চ্যানেল ০)
    }
}

int main() {
    Mat_<Vec3b> image;
    Mat unchanged_Image;
    
    image = imread("sky.jpg");
    unchanged_Image = imread("sky.jpg"); // মূল ছবি সংরক্ষণ
    
    namedWindow("Noisy Image");
    namedWindow("Unchanged Image");
    
    direct_access(image, 4000);  // ৪০০০টি পিক্সেলে নয়েজ যোগ
    
    imshow("Noisy Image", image);
    imshow("Unchanged Image", unchanged_Image);
    waitKey(0);
    return 0;
}

আউটপুট

OpenCV-এ Direct Access মেথড দিয়ে পিক্সেল মান পরিবর্তন করা

বাম পাশে নয়েজযুক্ত ছবি এবং ডান পাশে মূল ছবি দেখা যাচ্ছে।


  1. OpenCV-এ C++ ব্যবহার করে ইমেজ লোড ও প্রদর্শন করা

  2. Java OpenCV লাইব্রেরি ব্যবহার করে ইমেজের পিক্সেল (RGB মান) পাওয়ার পদ্ধতি

  3. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে চিত্রের পিক্সেল (RGB মান) সেট/মডিফাই করা

  4. পাইথনে scikit-learn ব্যবহার করে ইমেজের পিক্সেল মান কীভাবে দেখবেন?