顯示影象 OpenCV Java
來自 java 的基本閱讀圖片
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
//Load native library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
//Mat object used to host the image
Mat imageArray;
//Read image file from vile system
imageArray=Imgcodecs.imread("path/to/image");
如果要檢視影象,則無法使用 imshow,因為 OpenCV-java 也沒有此方法。相反,你可以編寫以下方法。
private static BufferedImage ConvertMat2Image(Mat imgContainer{
MatOfByte byteMatData = new MatOfByte();
//image formatting
Imgcodecs.imencode(".jpg", imgContainer,byteMatData);
// Convert to array
byte[] byteArray = byteMatData.toArray();
BufferedImage img= null;
try {
InputStream in = new ByteArrayInputStream(byteArray);
//load image
img= = ImageIO.read(in);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return img;
}
你可以在 Jframe,Jlabel(jlabel 圖示)等中檢視結果物件。