Linux下安装opencv图像处理库

这篇博客详细介绍了如何在基于Debian的Linux系统上,特别是友善之臂NANOPC-T3开发板上,安装opencv-2.4.9图像处理库。首先进行系统更新,然后安装必要的软件,接着下载并解压opencv源码,创建编译目录。使用cmake-gui配置编译选项,并进行编译和安装。最后,博主提供了一个简单的测试程序验证opencv库的正确安装和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:opencv是一个开源的图像处理库,它支持Linux系统。S5P6818是三星八核Cortex-A53的CPU,现在我们来配置、编译、安装opencv-2.4.9图像处理库。


一、环境

硬件:这里选用友善之臂NANOPC-T3开发板

软件:Debian系统

二、准备工作

    1. 软件更新

          (1) fa@NanoPi3:~/work$     sudo apt-get update  

    2. 安装cmake-gui和unzip解压工具

          (1) fa@NanoPi3:~/work$     sudo apt-get install cmake-gui 

          (2) fa@NanoPi3:~/work$     sudo apt-get install unzip   

    3. 下载opencv-2.4.9源码,可以到官网下载或者到我的资源下载opencv_test在windows上解压后可以得到

          链接:http://download.youkuaiyun.com/download/wenwang88/10154796        

    4. 在linux系统上解压opencv-2.4.9源码

          (1) fa@NanoPi3:~/work$     unzip opencv-2.4.9.zip  

    5.创建两个目录build和temp,build存放Makefile等文件,temp存放编译出来的opencv库文件

          (1) fa@NanoPi3:~/work$    mkdir build 

          (2) fa@NanoPi3:~/work$    mkdir temp  


三、 使用cmake配置,生成Makefile等文件

    1. 打开cmake图形界面程序


    2. 指定opencv-2.4.9源码目录和存放cmake生成的工程文件目录



    3. 选择编译器类型


    4. 第一次配置



    5. 选择opencv库的安装目录



    6. 增加WITH_OPENMP这个配置项,支持openmp



    7. 同理,去掉WITH_FFMPEG、WITH_TIFF这两个选项


    8. 第二次配置



   9. 生成Makefile等文件



四、编译和安装opencv库

    1. 编译   

          (1) fa@NanoPi3:~/work$         cd build 

          (2) fa@NanoPi3:~/work/build$   make  


    2. 安装

          (1) fa@NanoPi3:~/work/build$   make install  


    3. 复制opencv库文件到指定的目录,以后供编译应用程序使用

          (1) fa@NanoPi3:~/work/build$   cd ../temp/ 

          (2) fa@NanoPi3:~/work/temp$    sudo cp lib/* /usr/lib/ -rfd 

          (3) fa@NanoPi3:~/work/temp$    sudo cp lib/* /lib/arm-linux-gnueabihf -rfd 

          (4) fa@NanoPi3:~/work/temp$    sudo cp lib/* /usr/lib/arm-linux-gnueabihf/ -rfd 

          (5) fa@NanoPi3:~/work/temp$    sudo cp include/* /usr/include -rf  


五、测试

   1. 源码identifity.cpp

  1. #include "opencv2/highgui/highgui.hpp"  
  2. #include "opencv2/imgproc/imgproc.hpp"  
  3. #include <opencv2/opencv.hpp>  
  4. #include <stdio.h>  
  5. #include <sys/time.h>  
  6. #include <omp.h>  
  7. #include <unistd.h>  
  8.   
  9. using namespace std;  
  10. using namespace cv;  
  11.   
  12. #define DEBUG 1  
  13. #if DEBUG  
  14. struct timeval tPreTime ;  
  15. struct timeval tCurTime ;  
  16. long delta;  
  17. #endif  
  18.   
  19. int main(int argc, char** argv)  
  20. {     
  21.     Mat srcimage;  
  22.     Mat hsvimage;  
  23.     Mat element = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5));  
  24.   
  25.     while (1)  
  26.     {  
  27.         srcimage =imread("test.jpg");  
  28. #if DEBUG  
  29.         gettimeofday(&tCurTime, NULL);   
  30. #endif        
  31.         if (srcimage.empty())  
  32.         {  
  33.             printf("srcimage.empty()\n");         
  34.             continue;  
  35.         }  
  36.   
  37.         cvtColor(srcimage, hsvimage, COLOR_BGR2HSV);  
  38.   
  39.         //二值化  
  40.         inRange(hsvimage, Scalar(25, 25, 130), Scalar(150, 240, 255), hsvimage);  
  41.   
  42.         erode(hsvimage, hsvimage, element);  
  43.         dilate(hsvimage, hsvimage, element);  
  44.         imshow("srcimage", srcimage);   
  45.         imshow("hsvimage", hsvimage);   
  46.         waitKey(1);               
  47. #if DEBUG  
  48.         gettimeofday(&tPreTime, NULL);   
  49.             delta =  ( tPreTime.tv_sec - tCurTime.tv_sec ) *1000 + (tPreTime.tv_usec -tCurTime.tv_usec)  /1000;             
  50.         printf("process one frame: %ld\n",delta);         
  51. #endif  
  52.     }  
  53.     return 0;  
  54. }  


2. 编译、执行

          (1) fa@NanoPi3:~/work/test$     g++ identifity.cpp -o identifity -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_ml -lpthread 

          (2) fa@NanoPi3:~/work/test$     ./identifity  


   3. 查看进程IP

          (1) fa@NanoPi3:~/work/test$    ps -aux | grep identifity 

          (2) fa        1365  228  0.6  68464  5964 pts/0    Sl+  22:30   0:04 ./identifity 

               fa        1372  0.0  0.0   4132   780 pts/3    S+   22:30   0:00 grep identifity  




附上效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛文旺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值