

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to implement blur (averaging) in OpenCV using Java?
You can blur an image by filtering it using a low-pass filter, this removes high frequency content (noise, edges) from an image.
Averaging is one of the blurring techniques provided by OpenCV, this replaces the central element with the average of all the pixels in the kernel area
You can filter/blur an image by this technique using the blur() or, boxFilter() methods, the blur() method accepts −
Two Mat objects representing the source and destination images.
A Size object representing the size of the kernel.
An integer variable representing the anchor point.
An integer variable of representing the type of the border to be used to the output.
Example
import java.awt.Image; import java.awt.image.BufferedImage; import java.io.IOException; import javafx.application.Application; import javafx.embed.swing.SwingFXUtils; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.image.ImageView; import javafx.scene.image.WritableImage; import javafx.stage.Stage; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.Point; import org.opencv.core.Size; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class NormalizedBoxExample extends Application { public void start(Stage stage) throws IOException { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading image data String file ="D:\\Images\\lamma2.jpg"; Mat src = Imgcodecs.imread(file); //Creating destination matrix Mat dst = new Mat(src.rows(), src.cols(), src.type()); // Creating the Size and Point objects Size size = new Size(45, 45); Point point = new Point(20, 30); // Applying Blur effect on the Image Imgproc.blur(src, dst, size, point, Core.BORDER_DEFAULT); //Converting matrix to JavaFX writable image Image img = HighGui.toBufferedImage(dst); WritableImage writableImage= SwingFXUtils.toFXImage((BufferedImage) img, null); //Setting the image view ImageView imageView = new ImageView(writableImage); imageView.setX(10); imageView.setY(10); imageView.setFitWidth(575); imageView.setPreserveRatio(true); //Setting the Scene object Group root = new Group(imageView); Scene scene = new Scene(root, 595, 400); stage.setTitle("Normalized Blur Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]) { launch(args); } }
Input Image
Output
On executing the above program generates the following output −
- Related Questions & Answers
- How to implement Gaussian blur in OpenCV using Java?
- How to implement Bilateral blur in OpenCV using Java?
- How to implement Median blur in OpenCV using Java?
- Blurring an image using the OpenCV function blur()
- OpenCV Python Program to blur an image?
- Blurring an image using the OpenCV function Gaussian Blur()
- How to blur an image using Node Jimp blur() function?
- How to draw polylines in OpenCV using Java?
- How to blend to images using OpenCV Java?
- How to declare OpenCV Mat object using Java?
- How to draw a polygon in OpenCV using Java?
- How to draw a line in OpenCV using Java?
- How to draw an ellipse in OpenCV using Java?
- How to draw a rectangle in OpenCV using Java?
- How to draw a circle in OpenCV using Java?
Advertisements