คลาส HighGui ในแพ็กเกจ org.opencv.highgui ช่วยให้คุณสร้างและจัดการหน้าต่างและแสดงผลได้ คุณสามารถแสดงภาพในหน้าต่างได้โดยใช้เมธอด imshow() ของคลาสนี้ ซึ่งรับพารามิเตอร์ 2 ตัว:
- ตัวแปร string แทนชื่อหน้าต่าง
- อ็อบเจ็กต์ Mat แทนเนื้อหาภาพ
แนะนำให้เรียกเมธอด waitKey() หลัง imshow()
ตัวอย่างโค้ด
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) {
// โหลด OpenCV core library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// อ่านภาพจากไฟล์
Mat src = Imgcodecs.imread("D://images//window.jpg");
HighGui.imshow("Original Image", src);
// แปลงสีเป็น grayscale
Mat gray = new Mat(src.rows(), src.cols(), src.type());
Imgproc.cvtColor(src, gray, Imgproc.COLOR_RGB2GRAY);
HighGui.imshow("Gray Scale Image", gray);
// ใช้ Canny
Mat dst = new Mat(src.rows(), src.cols(), src.type());
Imgproc.Canny(gray, dst, 100, 100*3);
HighGui.imshow("Edges", dst);
HighGui.waitKey();
}
}
ผลลัพธ์
เมื่อรันโปรแกรมจะได้หน้าต่าง 3 หน้าต่างดังนี้:
Original image

Grayscale image

Image with edges highlighted
