rotate
功能介绍
rotate实现图像旋转功能,暂时只支持NV12格式的图片,支持的旋转角度为90、180、270。
支持平台
平台 | 运行方式 | 示例功能 |
---|---|---|
旭日X3派 | Ubuntu 20.04 | 读取图片,进行旋转 |
准备工作
旭日X3派
旭日X3派已烧录好地平线提供的Ubuntu 20.04系统镜像。
旭日X3派已成功安装TogetheROS.Bot。
使用介绍
旭日X3派
# 配置tros.b环境
source /opt/tros/setup.bash
# 从tros.b的安装路径中拷贝出运行示例需要的模型和配置文件。
cp -r /opt/tros/lib/hobot_cv/config/ .
# 启动launch文件
ros2 launch hobot_cv hobot_cv_rotate.launch.py
结果分析
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [rotate_example-1]: process started with pid [3096]
[rotate_example-1] [INFO] [1655951661.173422471] [example]: rotate image 180 , time cost: 415 ms
[rotate_example-1]
[rotate_example-1] [INFO] [1655951661.416188013] [example]: second rotate image 180 , time cost: 40 ms
[rotate_example-1]
[INFO] [rotate_example-1]: process has finished cleanly [pid 3096]
根据log显示,测试程序完成了对本地1920x1080分辨率图片rotate的处理。接口调用两次,两次耗时分别如下。
图片处理 | 第一次运行耗时 | 第二次运行耗时 |
---|---|---|
1920x1080旋转180度 | 415ms | 40ms |
因为第一次运行,需要对vps硬件进行配置所以耗时较多,如果不再更改硬件配置属性,硬件直接进行处理,耗时就会显著降低。
本地原图1920x1080、rotate后1920x1080图片如下:
hobot_cv与opencv处理性能对比
使用top命令查看cpu占用,cpu占用为测试进程cpu占比。 耗时统计单位为ms,循环处理1000次取平均值。 测试时锁定cpu频率:
sudo bash -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor'
src wxh | 旋转角度 | hobotcv耗时 | hobotcv接口cpu占用 | opencv耗时 | opencv处理cpu占用 |
---|---|---|---|---|---|
1920x1080 | 90 | 37.6568 | 61.6 | 55.8886 | 100.0 |
640x640 | 180 | 7.3133 | 66.8 | 5.1806 | 100.0 |
896x896 | 270 | 14.7723 | 62.5 | 13.6497 | 100.0 |