কম্পিউটার

কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবির রঙের স্থান পরিবর্তন করবেন?


কালার স্পেস প্রোটোকল ব্যবহার করে আপনি একটি চিত্রের রঙগুলি উপস্থাপন করতে পারেন৷ OpenCV-এ বেশ কয়েকটি রঙের স্পেস উপলব্ধ রয়েছে তাদের মধ্যে কয়েকটি হল −

  • BGR − আরজিবি হল এতে সর্বাধিক ব্যবহৃত রঙের স্থান, প্রতিটি পিক্সেল আসলে তিনটি ভিন্ন রঙের (তীব্রতা) মান দ্বারা গঠিত:লাল, নীল এবং সবুজ, এটি OpenCV-তে ডিফল্ট রঙের স্থান তবে এটি BGR হিসাবে সংরক্ষণ করা হয়।

  • HSV − HSV কালার স্পেসে রঙ, স্যাচুরেশন এবং উজ্জ্বলতা পরিবর্তন করে বিভিন্ন রং তৈরি হয়।

  • CMK − এটি একটি বিয়োগমূলক রঙের স্থান, এতে সাদা থেকে শুরু করে সায়ান, ম্যাজেন্টা এবং হলুদ মানগুলিকে বিয়োগ করে বিভিন্ন রঙ তৈরি হয়৷

  • Y'UV - Y'UV একটি লুমা (Y') এবং দুটি ক্রোমিন্যান্স (UV) উপাদানগুলির পরিপ্রেক্ষিতে একটি রঙের স্থান সংজ্ঞায়িত করে। Y’UV রঙের মডেলটি নিম্নলিখিত যৌগিক রঙের ভিডিও মানগুলিতে ব্যবহৃত হয়৷

আপনি cvtColor() ব্যবহার করে একটি চিত্রের উপস্থাপনাকে এক রঙের স্থান থেকে অন্য রঙে রূপান্তর করতে পারেন org.opencv.imgproc.Imgproc এর পদ্ধতি ক্লাস এই পদ্ধতিটি একটি উত্স চিত্র, গন্তব্য চিত্র এবং গন্তব্য চিত্রের রঙ প্রতিনিধিত্বকারী কোড গ্রহণ করে৷

BGR থেকে HSV তে রঙের স্থান পরিবর্তন করতে আপনাকে COLOR_BGR2HSV পাস করতে হবে রঙ কোড মান হিসাবে. একইভাবে BGR থেকে YUV তে রঙের স্থান পরিবর্তন করতে আপনাকে COLOR_BGR2YUV পাস করতে হবে রঙের কোড হিসাবে।

উদাহরণ

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ChangingColorSpaces {
   public static void main(String args[]) throws Exception {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //Reading the image
      Mat src = Imgcodecs.imread("D:\\images\\elephant.jpg");
      //Creating the empty destination matrix
      Mat dst = new Mat();
      //Converting From BGR to Gray
      Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY);
      HighGui.imshow("BGR to Gray", dst);
      dst = new Mat();
      //Converting From BGR to HSV
      Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2HSV);
      HighGui.imshow("BGR to HSV", dst);
      dst = new Mat();
      //Converting From BGR to HSV
      Imgproc.cvtColor(src, dst, Imgproc.COLOR_RGB2YUV);
      HighGui.imshow("BGR to YUV", dst);
      HighGui.waitKey();
   }
}

ইনপুট ছবি

কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবির রঙের স্থান পরিবর্তন করবেন?

আউটপুট

কার্যকর করার সময়, উপরের প্রোগ্রামটি নিম্নলিখিত উইন্ডোগুলি তৈরি করে -

BGR থেকে ধূসর -

কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবির রঙের স্থান পরিবর্তন করবেন?

BGR থেকে HSV -

কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবির রঙের স্থান পরিবর্তন করবেন?

YUV থেকে BGR -

কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবির রঙের স্থান পরিবর্তন করবেন?


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

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

  3. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে একটি চিত্রের পিক্সেল (আরজিবি মান) কীভাবে সেট/পরিবর্তন করবেন?

  4. কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবি লিখতে হয়?