কম্পিউটার

OpenCV এ equalizeHist() ফাংশন কি?


হিস্টোগ্রাম একটি চিত্রের পিক্সেলের তীব্রতা মানগুলির ফ্রিকোয়েন্সি দেখায়। একটি ইমেজ হিস্টোগ্রামে, X-অক্ষ ধূসর স্তরের তীব্রতা দেখায় এবং Y-অক্ষ এই তীব্রতার ফ্রিকোয়েন্সি দেখায়।

হিস্টোগ্রাম সমতাকরণ তীব্রতা পরিসীমা প্রসারিত করার জন্য একটি চিত্রের বৈসাদৃশ্য উন্নত করে। আপনি equalizeHist() ফাংশন ব্যবহার করে একটি প্রদত্ত চিত্রের হিস্টোগ্রাম সমান করতে পারেন .

এই ফাংশনের মৌলিক সিনট্যাক্স হল −

সিনট্যাক্স

equalizeHist(Source Matrix, Destination Matrix).

এই প্রোগ্রামে, এটি একটি গ্রেস্কেল চিত্রকে সমান করে। মানে একটাই চ্যানেল আছে। এই ফাংশনটি সেই একক চ্যানেলের পিক্সেল মানকে সমান করেছে। যাইহোক, যখন আমরা একটি রঙের চিত্রের জন্য এই ফাংশনটি প্রয়োগ করি, তখন উত্স এবং গন্তব্য ম্যাট্রিক্সের পরিবর্তে আমাদের বিভিন্ন চ্যানেলকে সংজ্ঞায়িত করতে হবে। নিম্নলিখিত প্রোগ্রামে, আমরা একটি রঙিন ছবিতে equalizehist() এর প্রয়োগ দেখতে পাব।

নিম্নলিখিত প্রোগ্রামটি equalizeHist() প্রদর্শন করে OpenCV-এ ফাংশন।

উদাহরণ

#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 original;//Declaring a matrix//
   original = imread("sky.jpg");//loading image//
   vectorchannels;//vector to store each channel in different array//
   Mat hist;//Declaring a matrix//
   cvtColor(original, hist, COLOR_BGR2YCrCb);//Converting from BGR to YCrCB//
   split(hist, channels);//splitting channels//
   equalizeHist(channels[2], channels[2]);//applying histogram equalizer in 2nd channel//
   Mat histeql;//Declaring a matrix//
   merge(channels, hist);//merging equalized channel with actual matrix//
   cvtColor(hist, histeql, COLOR_YCrCb2BGR);//Reconverting to BGR//
   namedWindow("original");//window to show original image//
   namedWindow("hist");//window to show edited image//
   imshow("original", original);//showing original image//
   imshow("hist", histeql);//showing edited image//
   waitKey(0);//wait for keystroke//
   return 0;
}

আউটপুট

OpenCV এ equalizeHist() ফাংশন কি?


  1. OpenCV ফাংশন medianBlur() ব্যবহার করে একটি ছবি ঝাপসা করা

  2. OpenCV ফাংশন গাউসিয়ান ব্লার() ব্যবহার করে একটি ছবি ঝাপসা করা

  3. OpenCV ফাংশন blur() ব্যবহার করে একটি ছবি ঝাপসা করা

  4. OpenCV ফাংশন সার্কেল() ব্যবহার করে একটি বৃত্ত আঁকুন