package it.moze.entity.vision.serde; import java.io.IOException; import java.util.Base64; import org.opencv.core.Mat; import org.opencv.core.MatOfByte; import org.opencv.imgcodecs.Imgcodecs; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; public class MatToBase64JpegSerializer extends JsonSerializer { @Override public void serialize(Mat mat, JsonGenerator gen, SerializerProvider serializers) throws IOException { if (mat == null) { gen.writeNull(); return; } MatOfByte bytes = new MatOfByte(); Imgcodecs.imencode(".jpg", mat, bytes); String base64Image = Base64.getEncoder().encodeToString(bytes.toArray()); gen.writeString(base64Image); } }