কম্পিউটার

সি++ ব্যবহার করে ওপেনসিভিতে রঙের স্থানগুলি কীভাবে রূপান্তর করবেন?


রঙের স্থান হল রঙের প্রতিনিধিত্ব করার মডেল। রং বর্ণনা করার বিভিন্ন উপায় আছে। উদাহরণস্বরূপ, RGB, CYMK, HSV, গ্রেস্কেল ইত্যাদি।

এখানে, আমরা 'imgproc.hpp' নামে একটি নতুন হেডার ব্যবহার করেছি। এই 'imgproc.hpp' ইমেজ প্রসেসিং এর সংক্ষিপ্ত রূপ। রঙের স্থান পরিবর্তন করতে, আমাদের 'cvtColor()' ব্যবহার করতে হবে OpenCV এর ফাংশন। এই ফাংশনটি 'imgproc'-এ সংজ্ঞায়িত করা হয়েছে হেডার ফাইল। তাই আমরা 'imgproc.hpp' অন্তর্ভুক্ত করেছি

প্রথমত, আমরা দুটি ম্যাট্রিস এবং দুটি উইন্ডো ঘোষণা করেছি। এই লোড এবং ইমেজ দেখানোর জন্য হয়. তারপরে আমরা 'cat.jpg' নামের আমাদের ছবিটি 'myImage'-এ লোড করেছি ম্যাট্রিক্স এর পরে আমরা 'cvtColor(myImage, myImage_Converted, COLOR_RGB2GRAY)' ব্যবহার করেছি। এই লাইনটি 'myImage'-এর RGB কালার স্পেসকে গ্রেস্কেলে রূপান্তর করে এবং 'myImage_Converted' ম্যাট্রিক্সে সংরক্ষণ করে।

'cvtColor() এর কাঁচা রূপ ফাংশন হল −

cvtColor(Source Matrix, Destination Matrix, Color Space Conversion Code)

এই প্রোগ্রামে, সোর্স ম্যাট্রিক্স হল 'myImage', গন্তব্য ম্যাট্রিক্স হল 'myImage_Converted', এবং কালার স্পেস কনভার্সন কোড হল COLOR_RGB2GRAY।

নিম্নলিখিত প্রোগ্রামটি ওপেনসিভিতে আরজিবি ছবিকে গ্রেস্কেল ছবিতে রূপান্তর করে।

উদাহরণ

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main(int argc, const char** argv) {
   Mat myImage;//declaring a matrix to load the image//
   Mat myImage_Converted;//declaring a matrix to store the converted image//  
   namedWindow("Actual_Image");//declaring window to show actual image//
   namedWindow("Converted_Image");//declaring window to show converted image//
   myImage = imread("cat.jpg");//loading the image in myImage matrix//
   cvtColor(myImage,myImage_Converted, COLOR_RGB2GRAY);//converting RGB to Grayscale//
   imshow("Actual_Image",myImage);//showing Actual Image//
   imshow("Converted_Image",myImage_Converted);//showing Converted Image//  
   waitKey(0);//wait for key stroke
   destroyAllWindows();//closing all windows
   return 0;
}

আউটপুট

সি++ ব্যবহার করে ওপেনসিভিতে রঙের স্থানগুলি কীভাবে রূপান্তর করবেন?


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

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

  3. সি++ ব্যবহার করে ওপেনসিভিতে রঙের স্থানগুলি কীভাবে রূপান্তর করবেন?

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