HighGui คลาสของ org.opencv.highgui แพ็คเกจช่วยให้คุณสร้างและจัดการหน้าต่างและแสดงผลได้ คุณสามารถแสดงรูปภาพในหน้าต่างโดยใช้เมธอด imshow() ของคลาสนี้ วิธีนี้ยอมรับสองพารามิเตอร์−
-
ตัวแปรสตริงที่แสดงชื่อของหน้าต่าง
-
วัตถุ Mat ที่แสดงเนื้อหาของรูปภาพ
ขอแนะนำให้เรียกใช้ waitKey() เมธอดหลัง imshow() .
ตัวอย่าง
ตัวอย่างต่อไปนี้จะอ่านรูปภาพ แปลงเป็นรูปภาพระดับสีเทา ตรวจจับขอบในรูปภาพ และแสดงรูปภาพทั้งสาม (ดั้งเดิม มาตราส่วนสีเทา และขอบ) ในหน้าต่างโดยใช้ 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(); } }
ผลลัพธ์
ในการดำเนินการ โปรแกรมข้างต้นจะสร้างสามหน้าต่างดังแสดงด้านล่าง -
ภาพต้นฉบับ −
ภาพระดับสีเทา -
รูปภาพที่เน้นขอบ -