根据之前发布的《基于AM4379的OpenCV移植教程》经验,现在分享一下基于OpenCV库在AM437x平台上实现的Facedetect测试例程,使用的是创龙TL437xF-EVM开发板(基于ti AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA处理器),创龙TL437x-EVM同样支持这个测试;
Facedetect测试例程是基于OpenCV库实现的,用户要体验此功能,请需要先移植OpenCV库到AM437x平台上。
将"Demoappfacedetect"目录复制到Ubuntu的AM437x开发目录,并进入facedetect目录,lena.jpg为测试图片。
打开facedetect目录下的CMakeLists.txt文件。
如使用V01.00.00.03版本LinuxProcessor-SDK,内容请修改为如下:
cmake_minimum_required(VERSION 2.8)
project(facedetect )
set(OpenCV_DIR/home/tronlong/AM437x/opencv-2.4.11/share/OpenCV)
find_package(OpenCV REQUIRED )
add_executable(facedetect facedetect.cpp )
target_link_libraries(facedetect${OpenCV_LIBS} )
set(CMAKE_EXE_LINKER_FLAGS"-Wl,-rpath=/home/tronlong/ti-processor-sdk-linux-am437x-evm-01.00.00.03/linux-devkit/sysroots/cortexa9t2hf-vfp-neon-linux-gnueabi/usr/lib")
如使用V03.03.00.04版本LinuxProcessor-SDK,请写入如下内容:
cmake_minimum_required(VERSION 2.8)
project(facedetect )
set(OpenCV_DIR/home/tronlong/AM437x/opencv-2.4.11/share/OpenCV)
find_package(OpenCV REQUIRED )
add_executable(facedetect facedetect.cpp )
target_link_libraries(facedetect${OpenCV_LIBS} )
set(CMAKE_EXE_LINKER_FLAGS"-Wl,-rpath=/home/tronlong/ti-processor-sdk-linux-am437x-evm-03.03.00.04/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/lib")
红色内容请修改为对应平台LinuxProcessor-SDK安装包实际的系统库文件路径、OpenCV解压路径。从文档拷贝上述内容时,指令可能会出现换行现象,拷贝时请仔细核对。
进入”facedetect/build”目录,执行如下命令编译生成Makefile文件:
Host# cmake -DCMAKE_TOOLCHAIN_FILE=/home/tronlong/AM437x/opencv-2.4.11/build/arm-linux-gnueabihf.cmake..
输入make命令编译程序,结果如下图所示:
Host# make
在build目录下生成了可执行程序facedetect,如下图所示:
将整个facedetect文件夹拷贝到开发板文件系统,开发板上电后进入facedetect目录,执行如下命令运行facedetect程序:
Target# ./build/facedetect
本次处理耗时1108.41ms,可以看到在facedetect目录下生成了处理后的图片result.bmp,人脸会被标识出来,如下图所示:
更多回帖