Q 之前,申请了文件权限可以随意在 external 存储读写数据。
从 Q 开始,即使申请了文件权限 在外部存储 保存文件、创建文件夹等操作仍然会报 android.system.ErrnoException: open failed: EACCES (Permission denied) 权限错误。
Android Bitmap 转 opencv Mat data
opencv Mat 中保存的 data, 8uc3 是 bgr 序列,8uc4 是 bgra 序列。而安卓中,生成 Bitmap ARGB_8888 或从 Bitmap ARGB_8888 获取的 byte 数组都是 rgba 序列数据,接口调用如果传 opencv 读取的 byte 数组时需要换一下 r/b 位置。
图像RGB/NV21格式互转
最近项目需要用到 opencv 和一些图像引擎处理图像,引擎开放的接口都是处理 nv21 格式的数据。从 Bitmap 出来的都是 argb 格式数据,所以使用的话需要互相转化一下。
Linux 远程桌面
项目需要在远程 docker 环境内运行需要显示图像的程序,在本地显示器上监测运行结果。
使用的方案是远端安装 vncserver 生成虚拟桌面并设为默认显示, 客户端使用 xtightvncviewer 连接远端的虚拟显示器监测结果。