DVPP中的JPEGE功能模块,实现将YUV格式图片编码成.jpg图片。
样例中的关键接口调用流程如下:
├──————CMakeLists.txt // 编译脚本,调用src目录下的CMakeLists文件
├──————src/CMakeLists.txt // 编译脚本
├──————src/common // 示例代码文件所在的目录
├──————src/sample_jpege.cpp // 示例代码
请单击以下链接,获取该样例的测试图片数据。
以运行用户登录开发环境,编译代码。此时存在以下两种情况:
当开发环境与运行环境的操作系统架构相同时,例如两者都是X86架构,或者都是AArch64架构,此时编译流程参考如下:
设置环境变量。
如下示例,$HOME/Ascend表示编译环境runtime标准形态安装包的安装路径,latest对应安装包版本号,请根据实际情况替换。
export DDK_PATH=$HOME/Ascend/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub/
切换到jpege_sample目录,依次执行如下命令执行编译。
mkdir build
cd build
cmake .. -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE
make
在“jpege_sample/build/src“目录下会生成可执行程序jpege_demo。
当开发环境与运行环境的操作系统架构不同时,例如开发环境是X86架构、运行环境是AArch64架构,此时涉及交叉编译,需要在开发环境安装包含AArch64工具链的软件包,并将相关环境变量指向AArch64版本路径,具体编译流程参考如下:
提前在x86_64编译环境安装x86_64版本的CANN-toolkit包
设置环境变量。
如下示例,$HOME/Ascend表示编译环境runtime标准形态安装包的安装路径,latest对应安装包版本号,请根据实际情况替换。
export DDK_PATH=$HOME/Ascend/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub/aarch64
切换到jpege_sample目录,依次执行如下命令执行编译。
mkdir build
cd build
cmake .. -DCMAKE_CXX_COMPILER=$HOME/Ascend/latest/toolkit/toolchain/hcc/bin/aarch64-target-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE
make
在“jpege_sample/build/src“目录下会生成可执行程序jpege_demo。
以运行用户将开发环境的“jpege_sample/build/src“目录下的可执行程序jpege_demo以及准备测试数据中测试数据上传到运行环境(Host)的同一目录下,例如“$HOME/dvpp/jpege_sample“。
运行应用。
切换到可执行文件jpege_demo所在的目录,例如“$HOME/dvpp/jpege_sample“,给该目录下的jpege_demo文件加执行权限。
chmod +x jpege_demo
设置环境变量。“$HOME/Ascend“表示runtime标准形态安装包的安装路径,请根据实际情况替换。
export LD_LIBRARY_PATH=$HOME/Ascend/runtime/lib64
示例描述:使用JPEGE编码器将dvpp_venc_128x128_nv12.yuv编码为jpg图片。
输入图像:宽128像素、高128像素、名称为“dvpp_venc_128x128_nv12.yuv”的YUV420sp数据。
输出图像:宽128像素、高128像素的jpg图片,名称为snap_chnl0_no0.jpg ,表示通道0的第0张图像。
运行应用的命令示例如下:
./jpege_demo --in_image_file ./dvpp_venc_128x128_nv12.yuv --img_width 128 --img_height 128 --in_format 1 --chn_num 1
运行可执行文件的通用参数说明如下所示:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。