JAVA OpenCV:如何将Mat转换为字节? @RequestMapping(value=“/uploadfiles”,method=RequestMethod.POST) 公共@ResponseBody 字符串getFile(MultipartHtt

JAVA OpenCV:如何将Mat转换为字节? @RequestMapping(value=“/uploadfiles”,method=RequestMethod.POST) 公共@ResponseBody 字符串getFile(MultipartHtt,java,opencv,converter,Java,Opencv,Converter,JAVA OpenCV:如何将Mat转换为字节? @RequestMapping(value=“/uploadfiles”,method=RequestMethod.POST) 公共@ResponseBody 字符串getFile(MultipartHttpServletRequest请求,HttpServletResponse响应){ System.loadLibrary(Core.NATIVE\u LIBRARY\u NAME); CascadeClassifier faceDetector

JAVA OpenCV:如何将Mat转换为字节?
@RequestMapping(value=“/uploadfiles”,method=RequestMethod.POST)
公共@ResponseBody
字符串getFile(MultipartHttpServletRequest请求,HttpServletResponse响应){
System.loadLibrary(Core.NATIVE\u LIBRARY\u NAME);
CascadeClassifier faceDetector=新的CascadeClassifier(“haarcascade_frontalface_alt.xml”);
字符串imageString=null;
迭代器itr=request.getFileNames();
MultipartFile mpf=request.getFile(itr.next());
试试{
String fileType=mpf.getContentType();//image/jpeg
byte[]basArr=mpf.getBytes();
InputStream fileIS=mpf.getInputStream();
Mat basImage=*如何将字节[](basArr)转换为Mat(basImage)?*;
//人脸检测
MatOfRect faceDetections=新的MatOfRect();
面部检测器。检测多尺度(基本图像、面部检测);
for(Rect-Rect:faceDetections.toArray()){
Imgproc.矩形(基本图像,新点(rect.x,rect.y),新点(rect.x+rect.width,rect.y+rect.height),新标量(0,255,0));
}             
byte[]resultar=*如何将Mat(基本图像)向后转换为byte[](resultar)?*;
BASE64Encoder=新的BASE64Encoder();
imageString=encoder.encode(resultar);
}捕获(IOE异常){
e、 printStackTrace();
}
返回图像字符串;
}

你能提供一个解释(除了标题)吗?你能提供一个解释(除了标题)吗?
@RequestMapping(value = "/uploadfiles", method = RequestMethod.POST)
public @ResponseBody
String getFile(MultipartHttpServletRequest request, HttpServletResponse response) {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    CascadeClassifier faceDetector = new CascadeClassifier("haarcascade_frontalface_alt.xml");

    String imageString = null;

    Iterator<String> itr = request.getFileNames();
    MultipartFile mpf = request.getFile(itr.next());

    try {            
        String fileType = mpf.getContentType(); //image/jpeg

        byte[] basArr = mpf.getBytes();
        InputStream fileIS = mpf.getInputStream();

        Mat basImage = * how convert byte[](basArr) to Mat (basImage)? *;


         //face detection
         MatOfRect faceDetections = new MatOfRect();
         faceDetector.detectMultiScale(basImage, faceDetections);

         for (Rect rect : faceDetections.toArray()) {
            Imgproc.rectangle(basImage, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));
         }             

        byte[] resultArr = * how back convert Mat(basImage) to byte[](resultArr) ? *;
        BASE64Encoder encoder = new BASE64Encoder();
        imageString = encoder.encode(resultArr);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return imageString;
}