একটি চিত্রের উজ্জ্বলতা এবং বৈপরীত্যের বৃদ্ধি/হ্রাস হল সেই ক্রিয়াকলাপ যা চিত্রের পিক্সেলগুলিকে রূপান্তর করে অর্জন করা যেতে পারে। এটিকে −
হিসাবে একটি সমীকরণ আকারে প্রকাশ করা যেতে পারেg(i, j) = α . f(i, j)+ β
কোথায়,
-
(i, j) হল পিক্সেলের অবস্থান।
-
α (লাভ) এবং β (পক্ষপাত) হল রূপান্তরের পরামিতি।
-
অনেক সময় গেইন প্যারামিটার একটি ছবির বৈসাদৃশ্য নিয়ন্ত্রণ করে এবং বায়াস প্যারামিটার একটি ছবির উজ্জ্বলতা নিয়ন্ত্রণ করে।
convertTo() org.opencv.core.Mat এর পদ্ধতি ক্লাস একটি চিত্রের বৈসাদৃশ্য এবং উজ্জ্বলতা পরিবর্তন করতে প্রদত্ত ম্যাট্রিক্সে প্রয়োজনীয় গণনা করে। এই পদ্ধতিটি 4টি পরামিতি গ্রহণ করে −
-
মাদুর − উৎস ম্যাট্রিক্সের মতো একই আকার এবং টাইপ সহ ফলাফল ধরে রাখতে খালি ম্যাট্রিক্স।
-
টাইপ - আউটপুট ম্যাট্রিক্সের ধরন নির্দিষ্ট করে পূর্ণসংখ্যার মান। যদি এই মানটি ঋণাত্মক হয়, তাহলে ধরনটি উৎসের মতোই হবে৷
৷ -
আলফা − লাভ মান, যা অবশ্যই 0-এর বেশি হতে হবে (ডিফল্ট মান 1)।
-
বিটা − বায়াস মান (ডিফল্ট মান 0)।
ওপেনসিভি জাভা লাইব্রেরি ব্যবহার করে একটি চিত্রের বৈসাদৃশ্য পরিবর্তন করা
যেমন উল্লেখ করা হয়েছে এই পদ্ধতিতে পাস করা আলফা মান অ্যানিমেজের বৈপরীত্যকে পরিবর্তন করে, যদি এই প্যারামিটারের জন্য নির্বাচিত মান 1 (থেকে 0) এর কম হয় তবে ছবির বৈসাদৃশ্য কমে যায়। একইভাবে, যদি এটি 1 (255 থেকে) এর বেশি হয় তবে চিত্রের বৈসাদৃশ্য বৃদ্ধি পায়।
একটি চিত্রের বৈসাদৃশ্য পরিবর্তন করতে -
-
loadLibrary() পদ্ধতি ব্যবহার করে OpenCV নেটিভ লাইব্রেরি লোড করুন।
-
imread()পদ্ধতি
ব্যবহার করে একটি ম্যাট অবজেক্টে পছন্দসই ছবির বিষয়বস্তু পড়ুন -
আগের ধাপে প্রাপ্ত ম্যাট্রিক্সের মতো একই আকার এবং টাইপ সহ একটি খালি ম্যাট্রিক্স তৈরি করুন।
-
convertTo()কে আহ্বান করুন খালি ম্যাট্রিক্স, -1 (একই টাইপ পেতে), বৈসাদৃশ্য বাড়ানো বা কমানোর জন্য আলফা মান (0-1 বা, 1-100) এবং 0 বিটা মান হিসাবে পাস করার মাধ্যমে।
-
TheImgcodecs.imwrite() পদ্ধতি ব্যবহার করে ফলাফল ম্যাট্রিক্সের বিষয়বস্তু একটি আউটপুট চিত্র হিসাবে লিখুন।
উদাহরণ
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; public class AlteringContrast { public static void main (String[] args) { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading the Image from the file String file ="D:\\Images\\car3.jpg"; Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_COLOR); //Creating an empty matrix Mat dest = new Mat(src.rows(), src.cols(), src.type()); //Increasing the contrast of the image src.convertTo(dest, -1, 10, 0); // Writing the image Imgcodecs.imwrite("D:\\Images\\altering_contrast_10.jpg", dest); } }
ইনপুট ছবি
নিচে বিভিন্ন আলফা এর জন্য বিভিন্ন আউটপুট চিত্র রয়েছে মান −
α-মান:0.5
α-মান:0.8
α-মান:1.5
α-মান:2.0