কালার স্পেস প্রোটোকল ব্যবহার করে আপনি একটি চিত্রের রঙগুলি উপস্থাপন করতে পারেন৷ 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(); } }
ইনপুট ছবি
আউটপুট
কার্যকর করার সময়, উপরের প্রোগ্রামটি নিম্নলিখিত উইন্ডোগুলি তৈরি করে -
BGR থেকে ধূসর ৷ -
BGR থেকে HSV ৷ -
YUV থেকে BGR ৷ -