কম্পিউটার

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


একটি বাইনারি ইমেজ উল্টানো মানে পিক্সেল মান উল্টানো। একটি ভিজ্যুয়াল দৃষ্টিকোণ থেকে, যখন আমরা একটি বাইনারি চিত্রকে উল্টে ফেলি, তখন সাদা পিক্সেলগুলি কালোতে রূপান্তরিত হবে এবং কালো পিক্সেলগুলি সাদাতে রূপান্তরিত হবে৷

এই ফাংশনের মৌলিক রূপ হল −

cvtColor(original_image, grayscale_image, COLOR_BGR2GRAY);

পরবর্তী লাইনটি গ্রেস্কেল চিত্রটিকে একটি বাইনারি ছবিতে রূপান্তর করছে এবং রূপান্তরিত চিত্রটিকে 'বাইনারী_ইমেজ' ম্যাট্রিক্সে সংরক্ষণ করছে৷

threshold(grayscale_image, binary_image, 100, 255, THRESH_BINARY);

এখানে 'grayscale_image' হল উৎস ম্যাট্রিক্স, 'binary_image' হল গন্তব্য ম্যাট্রিক্স। এর পরে, 100 এবং 255 দুটি মান রয়েছে। এই দুটি মান থ্রেশহোল্ড পরিসরের প্রতিনিধিত্ব করে। এই লাইনে, থ্রেশহোল্ড পরিসীমা রূপান্তরিত করা গ্রেস্কেল পিক্সেল মানগুলিকে প্রতিনিধিত্ব করে৷

bitwise_not(source matrix, destination matrix);

bitwise_not() ফাংশন সোর্স ম্যাট্রিক্সের পিক্সেল মানকে বিপরীত করে এবং গন্তব্য ম্যাট্রিক্সে সংরক্ষণ করে। উৎস ম্যাট্রিক্স হল 'বাইনারী_ইমেজ', এবং গন্তব্য ম্যাট্রিক্স হল 'ইনভার্টেড_বাইনারি_ইমেজ'।

নিম্নলিখিত প্রোগ্রামটি বাইনারি ইমেজ ইনভার্সন −

সম্পাদন করে

উদাহরণ

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
   Mat original_image;//declaring a matrix to load the original image//
   Mat grayscale_image;//declaring a matrix to store converted image//
   Mat binary_image;//declaring a matrix to store the binary image
   Mat inverted_binary_image;//declaring a matrix to store inverted binary image
   namedWindow("Binary Image");//declaring window to show binary image//
   namedWindow("Inverted Binary Image");//declaring window to show inverted binary image//
    original_image = imread("mountain.jpg");//loading image into matrix//
   cvtColor(original_image, grayscale_image,COLOR_BGR2GRAY);//Converting BGR to Grayscale image and storing it into 'converted' matrix//
   threshold(grayscale_image, binary_image, 100, 255, THRESH_BINARY);//converting grayscale image stored in 'converted' matrix into binary image//
   bitwise_not(binary_image, inverted_binary_image);//inverting the binary image and storing it in inverted_binary_image matrix//
   imshow("Binary Image", binary_image);//showing binary image//
   imshow("Inverted Binary Image", inverted_binary_image);//showing inverted binary image//
   waitKey(0);
   return 0;
}

আউটপুট

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


  1. কিভাবে C++ ব্যবহার করে OpenCV-এ একটি লাইন আঁকবেন?

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

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

  4. কিভাবে C++ ব্যবহার করে OpenCV-তে ইমেজ লোড এবং দেখাবেন?