package com.yamyang.face;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfByte;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import java.util.Base64;
public class Base64ToMatExample {
static {
// 加载OpenCV本地库
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) {
//Base64编码的图像字符串
String base64ImageString = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAKCAIAAAAGpYjXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAEXRFWHRTb2Z0d2FyZQBTbmlwYXN0ZV0Xzt0AAADCSURBVAiZBcG9LkRhFAXQvc/5biT+Gg3FLXRISBQKDyEaradQmLeRiIfQmXqKeYGJEokoJcb1nb2txalPES0sOxwO0KUfM5+3z0t1crDjzJQRjMwhQN490N7dGC7HvZuz8fbiiC2CIO4fIQMIdKptpq6Ox+vTQ2L2BBh2FMwiwiqYjTlQEiWKaJKZabvtb7Wp+roP6/5XMhK2ALOkcmf132qLt6/56uPl9XP5/k3bJYGmKIhhmlKwqkDAAEywjCBJ/wNURnHINnCGpQAAAABJRU5ErkJggg==";
Mat mat = base64ToMat(base64ImageString);
// //显示图像
HighGui.imshow("Image", mat);
HighGui.waitKey();
}
public static Mat base64ToMat(String base64){
//Base64解码为字节数组
byte[] imageBytes = Base64.getDecoder().decode(base64.split(",")[1]);
//从字节数组读取图像
Mat image = Imgcodecs.imdecode(new MatOfByte(imageBytes), Imgcodecs.IMREAD_COLOR);
return image;
}
}
java将base64转换为Mat对象
于 2023-04-21 15:31:58 首次发布