鸿蒙进阶——OpenCV库移植并编译替换开发环境SDK
OpenHarmony 移植OpenCV 的相关。
·
引言
OpenHarmony 移植OpenCV 的相关。
一、OpenCV 移植
1、源码获取
git clone -b master git@gitee.com:openharmony-sig/third_party_opencv.git
或
git clone -b master https://gitee.com/openharmony-sig/third_party_opencv.git
opencv源码目录放置到openharmony/third_party目录下。
2、部件注册
在vendor/hihope/rk3568目录下的产品配置文件config.json中添加对应的部件,直接添加到原有部件后即可。
{
"product_name": "rk3568",
"device_company": "rockchip",
"device_build_path": "device/board/hihope/rk3568",
...
"subsystems": [
...
{
"subsystem": "thirdparty",
"components": [
{
"component": "libuv",
"features": [
"use_ffrt = true"
]
},
{ //新增部件
"component": "opencv",
"features": []
}
]
}
...
]
}
3、部件配置修改
3.1、opencv模块配置bundle.json修改
3.1.1、修改opencv/bundle.json配置文件中third_party依赖
{
"name": "@ohos/opencv",
"description": "opencv napi interface",
...
"component": {
"name": "opencv",
...
"deps": {
"components": [
...
],
"third_party": [
"bounds_checking_function", //修改此处依赖
"libuv" //修改此处依赖
]
},
"build": {
"sub_component": [
],
"inner_kits": [
],
"test": []
}
}
}
3.1.2、build/commonmo模块配置bundle.json修改
在build/commonmo/bundle.json配置文件中新增third_party依赖
{
"component": {
...
"deps": {
"components": [],
"third_party": [
"opencv" //新增
]
},
...
}
}
4、部件使用
以foundation/arkui/ui_appearance部件下ui_appearance_service模块引用opencv部件下【libopencv_photo】模块为例:
- 修改arkui/ui_appearance部件配置文件bundle.json
...
"deps": {
"components": [
...
],
"third_party": [
"opencv" //新增
]
}
...
- 修改ui_appearance_service模块配置
foundation/arkui/ui_appearance/services/BUILD.gn
...
ohos_shared_library("ui_appearance_service") {
...
deps = [
"//third_party/opencv/modules/photo:libopencv_photo" //新增
]
external_deps = [
...
]
5、编译构建
//ui_appearance_service模块单独编译
./build.sh --build-target ui_appearance_service
//编译成功后/out/rk3568/thirdparty/opencv目录下会有libopencv_photo模块相关的so文件
//rk3568产品编译
./build.sh --product-name rk3568
//部件编译
./build.sh --build-target opencv
//模块编译
./build.sh --build-target libopencv_photo
二、替换DevEco的开发SDK
1、从编译后的产物\out\sdk\packages\ohos-sdk中copy 出SDK
2、按照同样的格式解压并复制到DevEco 对应的SDK路径
3、在新的SDK 下的执行nmp 自动安装相关依赖库
- 在\10\ets\build-tools\ets-loader 下执行 nmp i
- 在\10\js\build-tools\ace-loader下执行 nmp i
4、保持一样的文件结构然后刷新就可以看到了
Done。
更多推荐
所有评论(0)