जावा डीआईपी - इमेज शार्पनेस को बढ़ाना
इस अध्याय में हम गॉसियन फिल्टर का उपयोग करके एक छवि के तीखेपन को बढ़ाना सीखते हैं।
पहले हम उपयोग करते हैं OpenCV समारोह GaussianBlur। इसके तहत पाया जा सकता हैImgprocपैकेज। इसका सिंटैक्स नीचे दिया गया है -
Imgproc.GaussianBlur(source, destination, new Size(0,0), sigmaX);
मापदंडों का संक्षेप में वर्णन किया गया है -
अनु क्रमांक। | पैरामीटर और विवरण |
---|---|
1 |
source यह स्रोत छवि है। |
2 |
destination यह गंतव्य छवि है। |
3 |
Size यह गाऊसी कर्नेल आकार है। |
4 |
sigmaX यह एक्स दिशा में गाऊसी कर्नेल मानक विचलन है। |
इसके अलावा, हम उपयोग करते हैं OpenCV समारोह addWeightedछवि के लिए छवि वॉटरमार्क लागू करने के लिए। इसके तहत पाया जा सकता हैCoreपैकेज। इसका सिंटैक्स नीचे दिया गया है -
Core.addWeighted(InputArray src1, alpha, src2, beta, gamma, OutputArray dst);
इस फ़ंक्शन के मापदंडों को नीचे वर्णित किया गया है -
अनु क्रमांक। | पैरामीटर और विवरण |
---|---|
1 |
src1 यह पहली इनपुट ऐरे है। |
2 |
alpha यह पहले सरणी तत्वों का वजन है। |
3 |
src2 यह src1 के समान आकार और चैनल संख्या का दूसरा इनपुट सरणी है। |
4 |
Beta यह दूसरे सरणी तत्वों का वजन है। |
5 |
gamma यह प्रत्येक राशि में जोड़ा जाने वाला अदिश है। |
6 |
dst यह आउटपुट ऐरे है जिसमें इनपुट एरे के समान आकार और चैनलों की संख्या होती है। |
गॉसियनब्लूर विधि के अलावा, इम्गप्रोक क्लास द्वारा प्रदान की गई अन्य विधियां हैं। उन्हें संक्षेप में वर्णित किया गया है -
अनु क्रमांक। | विधि और विवरण |
---|---|
1 |
cvtColor(Mat src, Mat dst, int code, int dstCn) यह एक छवि को एक रंग स्थान से दूसरे में परिवर्तित करता है। |
2 |
dilate(Mat src, Mat dst, Mat kernel) यह एक विशिष्ट संरचना तत्व का उपयोग करके एक छवि को पतला करता है। |
3 |
equalizeHist(Mat src, Mat dst) यह एक स्केल इमेज के हिस्टोग्राम की बराबरी करता है। |
4 |
filter2D(Mat src, Mat dst, int depth, Mat kernel, Point anchor, double delta) यह कर्नेल के साथ एक छवि को दर्शाता है। |
5 |
GaussianBlur(Mat src, Mat dst, Size ksize, double sigmaX) यह एक गाऊसी फिल्टर का उपयोग करके एक छवि को धुंधला करता है। |
6 |
integral(Mat src, Mat sum) यह एक छवि के अभिन्न की गणना करता है। |
उदाहरण
निम्न उदाहरण छवि को तेज करने के लिए Imgproc और Core वर्ग के उपयोग को प्रदर्शित करता है -
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.highgui.Highgui;
import org.opencv.imgproc.Imgproc;
public class Main {
public static void main( String[] args ) {
try{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
Mat source = Highgui.imread("digital_image_processing.jpg",
Highgui.CV_LOAD_IMAGE_COLOR);
Mat destination = new Mat(source.rows(),source.cols(),source.type());
Imgproc.GaussianBlur(source, destination, new Size(0,0), 10);
Core.addWeighted(source, 1.5, destination, -0.5, 0, destination);
Highgui.imwrite("sharp.jpg", destination);
} catch (Exception e) {
}
}
}
उत्पादन
जब आप दिए गए कोड को निष्पादित करते हैं, तो निम्न आउटपुट देखा जाता है -