实现并部署 OpenCV 示例应用
前提条件
- 使用以下任一方法安装 Platform SDK:
使用 FastCV 实现 OpenCV 旋转应用
有关 API 使用详情,请参阅 OpenCV rotate()。-
在 Linux 主机上进入 SDK 安装路径,并运行以下命令设置 SDK 环境:
-
运行以下命令在 SDK 安装目录中创建并进入
opencv_rotate目录。 -
在
opencv_rotate目录中创建以下configure.ac、Makefile.am和opencv_rotate.cpp文件。注意本示例中引用的 JPG 图像来自 https://github.com/opencv/opencv_extra/blob/4.x/testdata/stitching/boat1.jpg,可以更换。configure.acMakefile.amopencv_rotate.cpp
编译 OpenCV 旋转应用
- 运行以下命令。
- 运行
make命令编译应用。opencv_rotate_test测试应用会生成在opencv_rotate目录中。
运行 OpenCV 旋转应用
-
要推送测试二进制文件,请在主机上运行以下命令。
注意如果无法复制文件,请使用以下命令重新挂载:使用以下命令检查权限:
-
运行以下命令切换目录(
cd)到测试图像的路径(例如./images/boat1.jpg)。 -
在设备上创建一个目录(例如
/tmp/test/samples/)用于推送测试图像。 该/tmp/test/samples/目录也是测试代码中输出图像的位置。请根据你机器上指定的输出位置修改此目录。 -
运行以下命令将测试图像推送到设备。
-
要在目标设备上开始测试,请运行以下命令。
-
要获取结果,请运行以下命令。
/tmp/test/samples/目录是测试代码中输出图像的位置。请根据你指定的输出位置进行修改。 以下是预期结果。
使用 FastCV 扩展实现 OpenCV 缩放应用
有关 API 使用详情,请参阅 OpenCV resize()。-
SDK 安装完成后,运行以下命令在 SDK 安装目录中创建并进入
opencv_resize_extension目录。 -
在
opencv_resize_extension目录中创建以下configure.ac、Makefile.am和opencv_resize_extension.cpp文件。注意本示例中引用的 PNG 图像是 https://github.com/opencv/opencv/blob/4.x/samples/data/box_in_scene.png,如果需要,你也可以使用其他图像。configure.acMakefile.amopencv_resize_extension.cpp
编译 OpenCV 缩放应用
- 运行以下命令。
- 运行 make 命令编译应用。
opencv_resize_test测试应用会生成在opencv_resize_extension目录中。
运行 OpenCV 缩放应用
-
要推送测试二进制文件,请在主机上运行以下命令。
-
运行以下命令切换目录(
cd)到测试图像的路径(例如./images/box_in_scene.png)。 -
在设备上创建一个目录(例如
/tmp/test/samples/)用于复制测试图像。 该/tmp/test/samples/目录也是示例代码中输出图像的位置。 请根据你机器上指定的输出位置修改此目录。 -
运行以下命令将测试图像复制到设备。
-
要在目标设备上开始测试,请运行以下命令。
-
要获取结果,请运行以下命令。
/tmp/test/samples/目录是示例代码中输出图像的位置。 请根据你指定的输出位置修改此位置。 以下是预期结果。
OpenCV rotate 函数用法
以 90 度的倍数旋转 2D 数组。rotate() 函数按以下方式之一旋转数组。
- 顺时针 90 度:
rotateCode = ROTATE_90_CLOCKWISE - 顺时针 180 度:
rotateCode = ROTATE_180 - 顺时针 270 度:
rotateCode = ROTATE_90_COUNTERCLOCKWISE
参数
| 类型 | 参数 | 描述 |
|---|---|---|
| InputArray | src | 输入数组。 |
| OutputArray | dst | 与源类型相同的输出数组。 使用 ROTATE_180 时尺寸不变,使用 ROTATE_90_CLOCKWISE 和 ROTATE_90_COUNTERCLOCKWISE 时行列互换。 |
| int | code | 用于指定数组旋转方式的枚举;请参阅 RotateFlags 枚举。RotateFlags:
|
rotate() 的更多信息,请参阅完整 API 文档
OpenCV resize 函数用法
OpenCV resize() 函数的输入是 CVMatrix 形式的源(src)图像。注意仅支持灰度图像。
参数
| 类型 | 参数 | 描述 |
|---|---|---|
| InputArray | input | 输入图像。 |
| OutputArray | dst | 输出图像。 |
| Size | dsize | 期望的输出图像尺寸。如果为空,则使用 inv_scale_x 和 inv_scale_y 计算。 |
| double | inv_scale_x | 宽度的逆缩放系数。如果提供了 dsize,则忽略此参数。 |
| double | inv_scale_y | 高度的逆缩放系数。如果提供了 dsize,则忽略此参数。 |
resize() 的更多信息,请参阅完整 API 文档。




