香橙派运行opencv例程

我的配置为:香橙派zero2 1G 

内核版本号: Linux 4.9.170-sun50iw9

opencv版本:opencv-4.6.0

摄像头        :60块钱的USB免驱摄像头

此教程并不完美,且没有逻辑,很多坑,希望理解

有外接屏幕也可以,ssh的方式登陆也可以显示图像,但是可能会卡

安装opencv的方法参见以下博主的文章,亲测好用,注意安装细节就行 

(22条消息) Ubuntu18.04安装Opencv4.5(最新最详细)_ubuntu升级opencv_向日葵骑士Faraday的博客-CSDN博客

// CMAKE 那一行注意 -D要删一些空格,好像是这样,不保证能用啊

//再就是如果用香橙派make的话,make -j1  或者 -j2 就行,多了会卡死,-j1大概要三小时吧。。

//如果会其它编译方法另说

cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -D   -DOPENCV_ENABLE_NONFREE=True ..


 

首先确保你跑opencv自带的例程没有问题,如果用ssh方法登陆的话应该可以不用屏幕,是这样的

开讲吧,

首先我们在/home/orangepi/opencv-4.6.0/samples/cpp
我的路径是这样的,建立一个文件夹 face,也可以叫其它的

 进入face,建立一个CMakeLists.txt 文件然后将上层文件夹cpp里的例程复制一个过来,我的是facedetect.cpp 需要这两个东西就行了。CMakeCache.txt 里面写下以下内容

第五行 project 括号里写建立文件夹的名字

二十三行和二十六行也需要修改,基本一下就可以看会,

二十三行 改为  (文件夹名 xxx.cpp)

二十六行括号里第一部分改为 文件夹名

  1 # cmake needs this line
  2 cmake_minimum_required(VERSION 3.1)
  3
  4 # Define project name
  5 project(face)
  6
  7 # Find OpenCV, you may need to set OpenCV_DIR variable
  8 # to the absolute path to the directory containing OpenCVConfig.cmake file
  9 # via the command line or GUI
 10 find_package(OpenCV REQUIRED)
 11
 12 # If the package has been found, several variables will
 13 # be set, you can find the full list with descriptions
 14 # in the OpenCVConfig.cmake file.
 15 # Print some message showing some of them
 16 message(STATUS "OpenCV library status:")
 17 message(STATUS "    config: ${OpenCV_DIR}")
 18 message(STATUS "    version: ${OpenCV_VERSION}")
 19 message(STATUS "    libraries: ${OpenCV_LIBS}")
 20 message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
 21
 22 # Declare the executable target built from your sources
 23 add_executable(face facedetect.cpp)
 24
 25 # Link your application with OpenCV libraries
 26 target_link_libraries(face PRIVATE ${OpenCV_LIBS})

对比一下例程里的CMakeLists.txt 就大概知道什么意思了

 project(opencv_example_project) 最后的 _project 好像可加可不加

  1 # cmake needs this line
  2 cmake_minimum_required(VERSION 3.1)
  3
  4 # Define project name
  5 project(opencv_example_project)
  6
  7 # Find OpenCV, you may need to set OpenCV_DIR variable
  8 # to the absolute path to the directory containing OpenCVConfig.cmake file
  9 # via the command line or GUI
 10 find_package(OpenCV REQUIRED)
 11
 12 # If the package has been found, several variables will
 13 # be set, you can find the full list with descriptions
 14 # in the OpenCVConfig.cmake file.
 15 # Print some message showing some of them
 16 message(STATUS "OpenCV library status:")
 17 message(STATUS "    config: ${OpenCV_DIR}")
 18 message(STATUS "    version: ${OpenCV_VERSION}")
 19 message(STATUS "    libraries: ${OpenCV_LIBS}")
 20 message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
 21
 22 # Declare the executable target built from your sources
 23 add_executable(opencv_example example.cpp)
 24
 25 # Link your application with OpenCV libraries
 26 target_link_libraries(opencv_example PRIVATE ${OpenCV_LIBS})

接着 cmake .   一下

cmake .

 然后 make 一下

make

 然后就看到了生成一堆东西

 好,可执行文件生成了,我们以 ssh的方式登陆 运行一下 ./face

./face

 报错,找不到xml文件,我们打开我们工程里面的 facedetect.cpp 文件 

修改一下下面这个位置,对比一下两张图片,给换成绝对路径,pwd 命令可以查看当前路径

 再重新 cmke .    一下  再 make  一下

camke .
make

 ok,我们再   ./face 运行一下

耶啊呀~, 就可以了,识别电脑屏幕上人脸的时候检测时间350ms左右,没有人脸可以跑到100ms左右,

ssh的方式识别真实人脸会稍快一些,280ms左右

 直接在屏幕上运行显示的检测速度会快一些,大概需要210ms左右

 

 其它的问题 

报错 ,串口登陆无法运行,改成ssh登陆或者直接接屏幕就好了

 添加路径,可能没用哦,在工作区进入  .bashrc

 本教程适合有一定基础的同学,有什么其它问题以及需要改正的地方欢迎大家一起交流!

猜你喜欢

转载自blog.csdn.net/jiujiumo_/article/details/129971378
今日推荐