इमेज की ब्राइटनेस और कंट्रास्ट को बढ़ाना/घटाना ऐसे ऑपरेशन हैं जिन्हें इमेज के पिक्सल्स को ट्रांसफॉर्म करके प्राप्त किया जा सकता है। इसे निम्न समीकरण के रूप में व्यक्त किया जा सकता है −
g(i, j) = α . f(i, j)+ β
जहां,
(i, j) पिक्सल्स की स्थितियां हैं।
α (गेन) और β (बायस) ट्रांसफॉर्मेशन के पैरामीटर्स हैं।
कभी-कभी गेन पैरामीटर इमेज के कंट्रास्ट को नियंत्रित करता है और बायस पैरामीटर इमेज की ब्राइटनेस को नियंत्रित करता है।
org.opencv.core.Mat क्लास की convertTo() मेथड दी गई मैट्रिक्स पर आवश्यक गणना करती है ताकि इमेज के कंट्रास्ट और ब्राइटनेस को बदला जा सके। यह मेथड 4 पैरामीटर्स स्वीकार करती है −
mat − परिणाम रखने के लिए खाली मैट्रिक्स जिसका आकार और प्रकार स्रोत मैट्रिक्स के समान हो।
rtype − आउटपुट मैट्रिक्स के प्रकार को निर्दिष्ट करने वाला पूर्णांक मान। यदि यह मान नकारात्मक है, तो प्रकार स्रोत के समान होगा।
alpha − गेन मान, जो 0 से अधिक होना चाहिए (डिफ़ॉल्ट मान 1)।
beta − बायस मान (डिफ़ॉल्ट मान 0)।
OpenCV Java लाइब्रेरी का उपयोग करके इमेज का कंट्रास्ट बदलना
जैसा कि उल्लेख किया गया है, इस मेथड को पास किया गया अल्फा मान इमेज के कंट्रास्ट को बदलता है। यदि इस पैरामीटर के लिए चुना गया मान 1 से कम है (0 तक), तो इमेज का कंट्रास्ट कम हो जाता है। इसी तरह, यदि यह 1 से अधिक है (100 तक), तो इमेज का कंट्रास्ट बढ़ जाता है।
इमेज का कंट्रास्ट बदलने के लिए −
loadLibrary() मेथड का उपयोग करके OpenCV नेटिव लाइब्रेरी लोड करें।
imread() मेथड का उपयोग करके वांछित इमेज की सामग्री को Mat ऑब्जेक्ट में पढ़ें।
पिछले चरण में प्राप्त मैट्रिक्स के समान आकार और प्रकार का एक खाली मैट्रिक्स बनाएं।
convertTo() मेथड को खाली मैट्रिक्स, -1 (समान प्रकार प्राप्त करने के लिए), कंट्रास्ट बढ़ाने या घटाने के लिए अल्फा मान (0-1 या 1-100) और बीटा मान 0 पास करके कॉल करें।
Imgcodecs.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) { // OpenCV कोर लाइब्रेरी लोड कर रहा है System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); // फाइल से इमेज पढ़ रहा है String file ="D:\\Images\\car3.jpg"; Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_COLOR); // एक खाली मैट्रिक्स बना रहा है Mat dest = new Mat(src.rows(), src.cols(), src.type()); // इमेज का कंट्रास्ट बढ़ा रहा है src.convertTo(dest, -1, 10, 0); // इमेज लिख रहा है Imgcodecs.imwrite("D:\\Images\\altering_contrast_10.jpg", dest); } }इनपुट इमेज

विभिन्न अल्फा मानों के लिए निम्न आउटपुट इमेज हैं −
α-मान: 0.5
α-मान: 0.8

α-मान: 1.5
α-मान: 2.0
