কম্পিউটার

সি++ ব্যবহার করে ওপেনসিভিতে একটি নির্দিষ্ট পিক্সেলের মান কীভাবে পাবেন?


একটি নির্দিষ্ট পিক্সেলের মান পড়তে, আমরা 'at' বা 'ডাইরেক্ট অ্যাক্সেস' পদ্ধতি ব্যবহার করতে পারি। এখানে, আমরা উভয় পন্থা শিখব।

চলুন শুরু করা যাক 'at' পদ্ধতি দিয়ে। নিম্নলিখিত প্রোগ্রামটি একটি RGB চিত্রের (10, 29) এ অবস্থিত পিক্সেল মান পড়ে৷

উদাহরণ

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main() {
   Mat image;//taking an image matrix//
   image = imread("sky.jpg");//loading an image//
   int x = image.at<Vec3b>(10, 29)[0];//getting the pixel values//
   int y = image.at<Vec3b>(10, 29)[1];//getting the pixel values//
   int z = image.at<Vec3b>(10, 29)[2];//getting the pixel values//
   cout << "Value of blue channel:" << x << endl;//showing the pixel values//
   cout << "Value of green channel:" << x << endl;//showing the pixel values//
   cout << "Value of red channel:" << x << endl;//showing the pixel values//
   system("pause");//pause the system to visualize the result//
   return 0;
}

আউটপুট

সি++ ব্যবহার করে ওপেনসিভিতে একটি নির্দিষ্ট পিক্সেলের মান কীভাবে পাবেন?

প্রোগ্রামের ফলাফল কনসোল উইন্ডোতে প্রদর্শিত হবে। এখানে নিম্নলিখিত তিনটি লাইন ব্যবহার করে, আমরা তিনটি ভিন্ন চ্যানেলের পিক্সেল ফর্ম মান পাচ্ছি।

int x = image.at<Vec3b>(10, 29)[0];
int y = image.at<Vec3b>(10, 29)[1];
int z = image.at<Vec3b>(10, 29)[2];

প্রথম লাইনে, আমরা প্রথম চ্যানেল (নীল) এর (10, 29) এ অবস্থিত পিক্সেলের মান পড়ি এবং 'x' ভেরিয়েবলে মান সংরক্ষণ করছি। দ্বিতীয় এবং তৃতীয় লাইনটি 2 nd এর মান সংরক্ষণ করছে এবং 3 য় চ্যানেল, যথাক্রমে। এখন আসুন শিখি কিভাবে 'ডাইরেক্ট এক্সেস' পদ্ধতি ব্যবহার করে একটি পিক্সেল মান পড়তে হয়।

নিম্নলিখিত প্রোগ্রামটি সরাসরি (10, 29) −

-এ অবস্থিত পিক্সেল মানটি পড়ে

উদাহরণ

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main() {
   Mat_<Vec3b>image;//taking an image matrix//
   image = imread("sky.jpg");//loading an image//
   Vec3b x = image(10, 29);//getting the pixel values//
   cout << x << endl;//showing the pixel values//  
   system("pause");//pause the system to visualize the result//
   return 0;
}

আউটপুট

সি++ ব্যবহার করে ওপেনসিভিতে একটি নির্দিষ্ট পিক্সেলের মান কীভাবে পাবেন?


  1. কিভাবে C++ ব্যবহার করে OpenCV তে একটি বাইনারি ইমেজ উল্টাতে হয়?

  2. কিভাবে C++ ব্যবহার করে OpenCV তে বাইনারি ইমেজ তৈরি করবেন?

  3. C++ ব্যবহার করে ওপেনসিভিতে একটি ছবির চ্যানেলের সংখ্যা কীভাবে গণনা করা যায়?

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