इमेज को शार्प करना ब्लर के विपरीत है। OpenCV लाइब्रेरी का उपयोग करके किसी छवि के तीखेपन को बदलने के लिए, आपको गॉसियन फ़िल्टर का उपयोग करके इसे चिकना/धुंधला करना होगा और मूल छवि से चिकने संस्करण को घटाना होगा।
उदाहरण
निम्नलिखित एक जावाएफएक्स प्रोग्राम है जिसमें दो स्लाइडर अल्फा और बीटा मानों का प्रतिनिधित्व करते हैं।
आयात करें javafx.beans.value.ObservableValue;import javafx.embed.swing.SwingFXUtils;import javafx.geometry.Insets;import javafx.scene.Scene;import javafx.scene.control.Label;import javafx.scene.control.Slider;import javafx.scene.image.ImageView;import javafx.scene.image.WritableImage;import javafx.scene.layout.VBox;import javafx.stage.Stage;import javax.imageio.ImageIO;import org.opencv.core.Core;import आयात करें डबल कंट्रास्ट =1; निजी अंतिम int rtype =-1; डबल अल्फा =1; डबल बीटा =0; स्लाइडर स्लाइडर1; स्लाइडर स्लाइडर2; मैट स्रोत =शून्य; सार्वजनिक शून्य प्रारंभ (चरण चरण) IOException फेंकता है {// OpenCV कोर लाइब्रेरी लोड हो रहा है System.loadLibrary(Core.NATIVE_LIBRARY_NAME); स्ट्रिंग फ़ाइल ="डी:\\छवि\\lamma2.jpg"; src =Imgcodecs.imread (फ़ाइल); लिखने योग्य छवि लिखने योग्य छवि =लोड इमेज (src); // छवि दृश्य सेट करना ImageView छवि दृश्य =नया छवि दृश्य (लिखने योग्य छवि); imageView.setX(50); imageView.setY(25); imageView.setFitHeight(400); imageView.setFitWidth(550); imageView.setPreserveRatio (सच); लेबल लेबल 1 =नया लेबल ("अल्फा मान"); // स्लाइडर स्लाइडर सेट करना 1 =नया स्लाइडर (0.1, 3, 1); स्लाइडर1.सेटशो टिकलेबल (सच); स्लाइडर1.सेटशो टिकमार्क (सच); स्लाइडर1.सेटमेजरटिकयूनिट(1); स्लाइडर1.सेटब्लॉकइन्क्रिमेंट(0.05); // लेबल लेबल सेट करना लेबल 2 =नया लेबल (); लेबल लेबल 3 =नया लेबल ("बीटा मान"); // स्लाइडर स्लाइडर सेट करना 2 =नया स्लाइडर (-2, 2, 0); स्लाइडर2.सेटशो टिकलेबल (सच); स्लाइडर2.सेटशो टिकमार्क (सच); स्लाइडर2.सेटमेजरटिकयूनिट(1); स्लाइडर2.सेटब्लॉकइन्क्रिमेंट(.5); // लेबल लेबल सेट करना लेबल 4 =नया लेबल (); // स्लाइडर स्लाइडर 1 के लिए श्रोता। वैल्यूप्रॉपर्टी ()। एड लिस्टनर (नया चेंजलिस्टर <नंबर> () {सार्वजनिक शून्य बदल गया (अवलोकन योग्य मूल्य संख्या> अवलोकन योग्य, संख्या पुराना मान, संख्या नया मूल्य) {कोशिश करें {label2.setText ("α- मान:"+ newValue); अल्फा =newValue.doubleValue (); मैट डेस्ट =नया मैट (src.rows (), src.cols (), src.type ()); Imgproc.GaussianBlur (src, dest, new Size (0,0), 10); Core.addWeighted(src, alpha, dest, Beta, 0, dest); imageView.setImage(loadImage(dest)); } पकड़ें (अपवाद ई) { System.out.println(" "); } } }); स्लाइडर2.valueProperty().addListener(new ChangeListenerइनपुट
आउटपुट