27 lines
851 B
Java
27 lines
851 B
Java
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<Mat> {
|
|
@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);
|
|
}
|
|
}
|