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

OpenCV-এ ইটারেটর মেথড ব্যবহার করে রঙ কমানো

OpenCV-তে C++ STL-সামঞ্জস্যপূর্ণ 'Mat iterator' ক্লাস রয়েছে। এই 'Mat iterator' ক্লাস ব্যবহার করে আমরা খুব সহজে পিক্সেল অ্যাক্সেস করতে পারি। আমাদের 'Mat iterator' ক্লাসের একটি অবজেক্ট তৈরি করতে হয়। এটি করতে পারি 'Mat_<Vec3b>::iterator example' হিসেবে। 'Mat'-এর পরে আন্ডারস্কোর ব্যবহার করতে হয় কারণ এটি একটি টেমপ্লেট মেথড। এই মেথডে, 'iterator' ক্লাসের অবজেক্ট তৈরি করার সময় রিটার্ন টাইপ স্পেসিফাই করতে হয়। তাই আমরা ডেটা টাইপ <Vec3b> ঘোষণা করেছি।

OpenCV-এ ইটারেটর মেথড ব্যবহার করে রঙ কমানোর প্রোগ্রাম

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

void reducing_Color(Mat& image, int div = 64) { // ফাংশন ঘোষণা
    Mat_<Vec3b>::iterator iterator_start; // শুরুতে ইটারেটর ঘোষণা
    iterator_start = image.begin<Vec3b>(); // প্রাথমিক পজিশনে ইটারেটর পাওয়া
    Mat_<Vec3b>::iterator iterator_end; // শেষে ইটারেটর ঘোষণা
    iterator_end = image.end<Vec3b>(); // শেষ পজিশনে ইটারেটর পাওয়া
    for (; iterator_start != iterator_end; iterator_start++) { // সব পিক্সেলের জন্য লুপ
        (*iterator_start)[0] = (*iterator_start)[0] / div * div + div / 2; // প্রথম চ্যানেলের পিক্সেল প্রসেস
        (*iterator_start)[1] = (*iterator_start)[1] / div * div + div / 2; // দ্বিতীয় চ্যানেলের পিক্সেল প্রসেস
        (*iterator_start)[2] = (*iterator_start)[2] / div * div + div / 2; // তৃতীয় চ্যানেলের পিক্সেল প্রসেস
    }
}

int main() {
    Mat image; // একটি ইমেজ ম্যাট্রিক্স
    image = imread("mango.jpg"); // একটি ইমেজ লোড
    namedWindow("Image Window"); // অন্য একটি উইন্ডো
    reducing_Color(image); // ফাংশন কল
    imshow("Image Window", image); // রঙ কমানো ইমেজ দেখানো
    waitKey(0);
    return 0;
}

আউটপুট

OpenCV-এ ইটারেটর মেথড ব্যবহার করে রঙ কমানো

  1. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে চিত্রের কালার স্পেস কীভাবে পরিবর্তন করবেন?

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

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

  4. উইন্ডোজ পিসিতে ছবির রঙ উল্টে দেওয়ার উপায় (Invert Color)