@@j0168md mofify
3f757a34创建于 2025年2月26日历史提交
文件最后提交记录最后更新时间
回退 'Pull Request !740 : 回退 'Pull Request !738 : 修改目录名'' 1 年前
回退 'Pull Request !740 : 回退 'Pull Request !738 : 修改目录名'' 1 年前
md mofify 1 年前
README.md

Vision SDK快速入门——ImageProcessor类基本使用教程

1 介绍

1.1 简介

ImageProcessor类,作为图像处理类,主要开放图像编解码、缩放和抠图等接口。

1.2 支持的产品

本教程支持昇腾Atlas 300I Pro、Atlas 300V Pro。

1.3 支持的版本

Vision SDK版本 CANN版本 Driver/Firmware版本
6.0.RC3 8.0.RC3 24.1.RC3
6.0.0 8.0.0 24.1.0

2 设置环境变量

# 设置CANN环境变量
. ${install_path}/set_env.sh

# 设置Vision SDK环境变量,sdk_path为Vision SDK安装路径
. ${sdk_path}/set_env.sh

3 编译与运行

3.1 C++样例运行

步骤1: 构建样例程序;进入/PATH/TO/ImageProcessor/C++文件夹中,执行以下命令:

bash build.sh

步骤2: 查看结果;如果构建成功,显示如下:

[100%] Linking CXX executable ../demo
[100%] Built target demo

步骤3: 准备图片;准备一张JPG图片命名为input.jpg放到C++目录下,最大分辨率不超过4096 * 4096,最小分辨率不小于200 * 200,文件大小不超过20MB。

步骤4: 执行样例程序;样例主要提供下面5个功能,通过执行demo来体验不同的功能

功能 Demo函数 描述 执行方式
解码编码图片 decodeEncodeByPath 使用ImageProcessor.Decode接口对图片进行解码,并使用ImageProcessor.Encode接口对解码后的图片进行编码,并保存到本地文件中。 ./demo decode_path
解码编码图片 decodeEncodeByPtr 同上,但是Decode使用内存地址中的图片数据 ./demo decode_ptr
裁剪图片(同步) cropImage 使用ImageProcessor.Crop接口对图片进行裁剪,并使用编码接口将结果保存到本地文件中 ./demo crop
裁剪图片(异步) cropImageAsync 同上,但是使用AscendStream进行异步执行下发。 ./demo crop_async
缩放图片 resizeImage 使用ImageProcessor.Resize接口对图片进行缩放,并使用编码接口将结果保存到本地文件中 ./demo resize

步骤5: 查看结果;运行后会在当前目录下生成一个名为output.jpg的图片文件。

3.2 Python样例运行

步骤1: 进入/PATH/TO/ImageProcessor/Python文件夹中。

步骤2: 准备图片;准备一张JPG图片命名为input.jpg放到Python目录下,最大分辨率不超过4096 * 4096,最小分辨率不小于200 * 200。

步骤3: 执行样例程序;样例主要提供下面3个功能,通过执行main.py来体验不同的功能

功能 Demo函数 描述 执行方式
解码编码图片 decode_encode 使用ImageProcessor.Decode接口对图片进行解码,并使用ImageProcessor.Encode接口对解码后的图片进行编码,并保存到本地文件中。 python3 main.py decode
裁剪图片 crop_image 使用ImageProcessor.Crop接口对图片进行裁剪,并使用编码接口将结果保存到本地文件中 python3 main.py crop
缩放图片 resize_image 使用ImageProcessor.Resize接口对图片进行缩放,并使用编码接口将结果保存到本地文件中 python3 main.py resize

步骤4: 查看结果;运行后会在当前目录下生成一个名为output.jpg的图片文件。