OpenCV开发之——将图片转化为Base64字符串

一 概述

  • OpenCV将识别到的图片先行保存到本地
  • 将本地图片上传时,转化为Base64字符串,效果更好
  • 图片上传,服务器先要接收,然后再进行处理,耗时更多

二 将图片转换为Base64工具类

2.1 依赖Base64

Android\SDK\sources\android-28\android\util\Base64.java

在java项目上测试时,直接copy出来使用

2.2 图片

2.3 工具类(Base64Img2String)

import java.io.File;
import java.io.FileInputStream;


public class Base64Img2String {

    public static String encodeFile(String filePath) {
        String imgStr = "";
        try {
            File imageFile = new File(filePath);
            if (!imageFile.exists())
                return imgStr;
            byte[] bytes = new byte[(int) imageFile.length()];
            FileInputStream fileInputStream = new FileInputStream(imageFile);
            fileInputStream.read(bytes);
            imgStr = Base64.encodeToString(bytes, Base64.DEFAULT);
            //imgStr = "data:image/*;charset=utf-8;base64," + imgStr;
        } catch (Exception e) {
            return imgStr;
        }
        return imgStr;
    }
}

2.4 测试输出

代码

public class Main {

    public static void main(String[] args) {

        File file = new File("D:\\Code\\JavaCode\\Image2String\\images\\cat.jpg");
        String image2String = Base64Img2String.encodeFile(file.getAbsolutePath());
        System.out.print(image2String);

    }
}

输出结果

输出结果处理

  • 输出结果换行了,将结果copy到文档中,将换行符去除

2.5 反向验证(BASE64转图片)

将结果copy到输入框中,点击转图片,查看图片能否正确显示