The HighGui class of the org.opencv.highgui package allows you to create and manipulate windows and display them. You can display an image in a window using the imshow() method of this class. This method accepts two parameters−
A string variable representing the name of the window.
A Mat object representing the contents of an image.
It is recommended to invoke the waitKey() method after imshow().
Example
The following example reads an image, converts it into a grayscale image, detects the edges in it and displays all the three images (original, gray-scale and, edges) in windows using HighGui.
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class ImshowExample { public static void main(String args[]) { //Loading the OpenCV core library System.loadLibrary(Core.NATIVE_LIBRARY_NAME); //Reading the Image from the file Mat src = Imgcodecs.imread("D://images//window.jpg"); HighGui.imshow("Original Image", src); //Converting color to gray scale Mat gray = new Mat(src.rows(), src.cols(), src.type()); Imgproc.cvtColor(src, gray, Imgproc.COLOR_RGB2GRAY); HighGui.imshow("Gray Scale Image", gray); //Applying canny Mat dst = new Mat(src.rows(), src.cols(), src.type()); Imgproc.Canny(gray, dst, 100, 100*3); HighGui.imshow("Edges", dst); HighGui.waitKey(); } }
Output
On executing, the above program generates three windows as shown below −
Original image −
Grayscale image −
Image with edges highlighted −