中文|[EN](README_EN.md) # img2bin img2bin能够生成模型推理所需的输入数据,以.bin格式保存。当前仅支撑输入为图片类型的神经网络预处理。 有两类数据,一类是图片数据,另一类是模型需要的第二个输入数据,如fasterrcnn的第二个输入是图片的shape信息。 图片缩放采用的是等比例缩放,空余的地方用0填充。 ## 前提条件 - 脚本可在Centos和Ubuntu环境下使用,只支持x86架构。 - 脚本支持python2和python3。 - 如未安装opencv-python,第一次使用,脚本会自动安装。 ## 获取脚本 1. 下载压缩包方式获取。 将 https://gitee.com/ascend/tools 仓中的脚本下载至服务器的任意目录。 例如存放路径为:$HOME/AscendProjects/tools。 2. 命令行使用git命令方式获取。 在命令行中:$HOME/AscendProjects目录下执行以下命令下载代码。 **git clone https://gitee.com/ascend/tools.git** ## 使用方法 进入脚本所在目录。 ``` cd $HOME/AscendProjects/img2bin ``` ### 第一类图片: - 脚本会将 -i 后指定的图片目录下的所有图片按参数设置做相应的预处理,并以"文件名.bin"命名保存在-o指定的输出目录下。 ``` python2 img2bin.py -i ./images -w 416 -h 416 -f BGR -a NHWC -t uint8 -m [104,117,123] -c [1,1,1] -o ./out ``` ``` python3 img2bin.py -i ./images -w 416 -h 416 -f BGR -a NHWC -t uint8 -m [104,117,123] -c [1,1,1] -o ./out ``` ### 第二类: - 第二类数据,需要新建一个文件,文件模板为test.txt,"input_node"为数据,"shape"为数据的shape信息。 - 文件模板的后缀必须是“.txt”。 - 第二类数据只需 -i、-t、-o三个参数。 - 参数 -i 需要指定文件的目录或路径,-t 需要指定数据类型,-o指定输出目录。 ``` python2 img2bin.py -i ./test.txt -t uint8 -o ./out ``` ``` python3 img2bin.py -i ./test.txt -t uint8 -o ./out ``` ## 参数说明 | 参数名 | 说明 | | - | - | | -i | 输入目录或路径,
**在目录下,不能同时有图片和txt,一次只能转一种数据** | | -w | 输出图片宽 | | -h | 输出图片高 | | -f | 输出图片色彩格式,支持(BGR/RGB/YUV/GRAY) | | -a | 输出图片格式,支持(NCHW/NHWC) | | -t | 图片或第二个数据的输出数据类型,支持(float32/uint8/int32/uint32) | | -m | 减均值,默认为[0,0,0],顺序与图片色彩格式保持一致
当色彩格式为yuv时,设置[0,0]
当色彩格式为gray时,设置[0] | | -c | 归一化,默认为 [1,1,1],顺序与图片色彩格式保持一致
当色彩格式为yuv时,设置[1,1]
当色彩格式为gray时,设置[1] | | -o | 输出目录 |