一 概述
- OpenCV将识别到的图片先行保存到本地
- 将本地图片上传时,转化为Base64字符串,效果更好
- 图片上传,服务器先要接收,然后再进行处理,耗时更多
二 将图片转换为Base64工具类
2.1 依赖Base64
1
| Android\SDK\sources\android-28\android\util\Base64.java
|
在java项目上测试时,直接copy出来使用
2.2 图片
2.3 工具类(Base64Img2String)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 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 测试输出
代码
1 2 3 4 5 6 7 8 9 10
| 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到输入框中,点击转图片,查看图片能否正确显示