কম্পিউটার

কিভাবে একটি চিত্রের আকার পরিবর্তন করবেন এবং C++ ব্যবহার করে OpenCV-এ একটি বর্ডার যোগ করবেন?


এই বিষয়ে, আমরা ট্র্যাকবারের আরেকটি অ্যাপ্লিকেশন দেখতে পাব। এখানে, আমরা ট্র্যাক-বার ব্যবহার করে একটি ছবির আকার পরিবর্তন করব এবং ছবিতে একটি বর্ডার যোগ করব এবং ট্র্যাক-বার ব্যবহার করে বর্ডারের আকার পরিবর্তন করব৷

নিম্নলিখিত প্রোগ্রামটি ব্যবহার করে, আমরা একটি চিত্রের আকার পরিবর্তন করতে পারি, একটি বর্ডার যোগ করতে পারি, বর্ডারের আকার পরিবর্তন করতে পারি এবং চিত্রটি ঘোরাতে পারি। এটা আগের উদাহরণের মতই।

নিম্নলিখিত প্রোগ্রামটি দেখায় কিভাবে একই ট্র্যাক-বারে একাধিক স্লাইডার যোগ করতে হয়।

উদাহরণ

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
   int Rotate = 180;//initializing angle//
   int Scale = 50;//initializing scale//
   int Border = 0;//initial Border//
   Mat before_Rotate;//declaring matrix for before rotation//
   int vertical = 0;//initial vertical value//
   int horizontal = 0;//initial horizontal value//
   void rotator(int, void*){ //function to rotate image//
   Mat Rotation = getRotationMatrix2D(Point(horizontal, vertical),(Rotate - 180), Scale / 50.0);//affine transformation matrix for 2D rotation//
   Mat Rotated;//matrix for rotated image
   warpAffine(before_Rotate, Rotated, Rotation, before_Rotate.size(), INTER_LINEAR, Border, Scalar());//applying affine transformation//
   imshow("RotatedImage", Rotated);//show rotated image//
}
int main(int argc,char**argv) {
   before_Rotate = imread("sky.jpg");//loading image in the matrix//
   vertical = before_Rotate.rows / 2;//getting midpoint of vertical pixels//
   horizontal = before_Rotate.cols / 2;//getting midpoints of horizontal pixels//
   namedWindow("BeforeRotate");//declaring window to show image before rotation//
   imshow("BeforeRotate", before_Rotate);//showing image before rotation//
   namedWindow("AfterRotate");//declaring window to show image after rotation//      
   createTrackbar("Angle", "AfterRotate", &Rotate, 360, rotator);//creating trackbar for rotation//
   createTrackbar("Scale", "AfterRotate", &Scale, 100, rotator);//creating trackbar to change size//
   createTrackbar("Border Mode", "After Rotate", &Border, 5, rotator);//creating trackbar to add border//
   int cbfunction = 0;//initiate value of rotator function's argument//
   rotator(cbfunction, &cbfunction);//call back rotator function//
   waitKey(0);//wait till keystroke//
   return 0;
}

আউটপুট

কিভাবে একটি চিত্রের আকার পরিবর্তন করবেন এবং C++ ব্যবহার করে OpenCV-এ একটি বর্ডার যোগ করবেন?


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

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

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

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