精华内容
下载资源
问答
  • 树莓派安装OpenCV

    2020-11-22 11:49:15
    树莓派安装OpenCV 树莓派是一种ARM架构的小型Linux硬件设备,其中运行了一套完整的Linux系统,但是和X86架构不同的是,如果需要在树莓派安装OpenCV,需要交叉编译 当然,如果交叉编译过于繁琐的话,可以直接将OpenCV...

    树莓派安装OpenCV

    树莓派是一种ARM架构的小型Linux硬件设备,其中运行了一套完整的Linux系统,但是和X86架构不同的是,如果需要在树莓派安装OpenCV,需要交叉编译

    当然,如果交叉编译过于繁琐的话,可以直接将OpenCV的安装包拷贝到树莓派上,在树莓派直接编译,具体方法可参照本人博客:Linux 安装OpenCV
    本人实测编译树莓派3B速度大概为六个小时,还是可以接受的

    推荐开发环境:

    树莓派是自带WIFI模块的,只需要连接显示器之后,连接需要的WIFI,之后即可使用XShell等网络挂载,具体配置方法请参照本人博客:树莓派SSH挂载
    之后只需将树莓派连接电源,将其放到角落,即可优雅的对其进行远程操作
    如果需要传输文件,可以使用FileZilla这一神器,方便快捷的传输文件,使用之前只需对树莓派进行简单配置,即可使用

    安装OpenCV遇到的问题

    OpenCV安装之后,运行测试例程时出现以下错误提示:

    error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support.
    If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function ‘cvNamedWindow’
    

    根据错误提示可以分析得出,这是由于libgtk2.0-dev没有安装导致的,但是搜索安装libgtk2.0-dev又发现,需要降级安装,也就是需要使用下方命令进行安装

    sudo aptitude install libgtk2.0-dev
    

    如果你没有安装aptitude这个库,又需要提前安装,但是在安装时却提示以下错误信息:

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    

    这时候再搜索就会遇到一些网友称这是换源导致的,换回官方源之后就好了,但是官方源速度实在感人,最终经过我的不懈努力,终于找到了问题所在,具体请参照博客:树莓派想使用 aptitude 解决依赖包问题,但是使用 apt-get 安装 aptitude 时出现依赖包错误怎么办?(作者:FightingBoom)

    本人的树莓派版本是buster,但是换源时输入的版本是stretch,修改之后,再次输入安装aptitude,完成安装
    之后即可安装libgtk2.0-dev,然后再次执行make命令编译OpenCV源码,最终完成OpenCV的安装

    展开全文
  • 树莓派安装openCv

    千次阅读 2019-04-06 20:33:35
    前言 ...在树莓派安装opencv的路不是那么容易的,就算你安装完成后,也会出现缺少各种依赖库(so文件) 一、安装opencv依赖文件 sudo apt-get install -y libjasper-dev libqtgui4 libqt4-t...

    前言

    虽然,在控制摄像头上,树莓派已经为我们集成了picamera库,但我不经还是想用用opencv,

    于是就要在树莓派上安装我们的opencv

    在树莓派安装opencv的路不是那么容易的,就算你安装完成后,也会出现缺少各种依赖库(so文件)

    一、安装好opencv依赖文件

    sudo apt-get install -y libjasper-dev libqtgui4 libqt4-test

    二、安装opencv

    sudo pip3 install opencv-python

    三、测试opencv是否可用,并且摄像头是否正常

    import cv2
    
    cap = cv2.VideoCapture(0)

    在python终端输入这两句代码,如没出现问题,则成功

    若出现无法打开摄像头,找不到index0的错误,按以下解决

    sudo nano /etc/modules
    // 进入编辑界面后,在末尾添加输入
    //然后按ctrl o保存,ctrl x退出 重启树莓派即可
    snd-bcm2835
    bcm2835-v4l2

    æ·»å ç¡¬ä»¶

    展开全文
  • 树莓派安装opencv

    2020-05-25 23:16:55
    树莓派安装opencv   我在CentOS系统安装opencv后想用同样的方法在Raspbian系统里安装opencv,在Raspbian系统安装opencv时配置没有报错,编译到90%左右的时候却报错了。 文章目录准备工作可能要做的更新安装编译和...
    树莓派安装opencv
      我在CentOS系统安装opencv后想用同样的方法在Raspbian系统里安装opencv,在Raspbian系统安装opencv时配置没有报错,编译到90%左右的时候却报错了。

    准备工作

    可能要做的更新

      因为在安装其他工具的时候可能也会做过更新,如果以前已经更新过就不必更新了。

    终端下命令行:

    sudo apt-get update
    sudo apt-get upgrade
    sudo rpi-update	#需要谨慎,可能升级后有些东西就不兼容了,到时候重新烧录系统都无法解决,宁可不用
    

    安装编译和配置的工具

      编译opencv需要有cmake生成Makefile,需要编译C/C++代码。编译完成后如果要配置opencv使之能在自己的工程里方便的调用opencv库,那么pkg-config是个好东西。
      所以要安装cmake(生成Makefile)、build-essential(编译C/C++代码)、git(下载opencv源码)和pkg-config(配置opencv环境)。

    终端下命令行:

    sudo apt-get install build-essential cmake git pkg-config
    

    安装opencv的图像工具包

    终端下命令行:

    sudo apt-get install libjpeg8-dev
    sudo apt-get install libtiff5-dev
    sudo apt-get install libjasper-dev
    sudo apt-get install libpng12-dev
    

    安装视频I/O包

    终端下命令行:

    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
    

    安装gtk2.0和优化函数包

    终端下命令行:

    sudo apt-get install libgtk2.0-dev
    sudo apt-get install libatlas-base-dev gfortran
    

    下载opencv源码

      先把终端的当前目录cd到想保存opencv源码的位置。

    终端下命令行:

    git clone https://github.com/opencv/opencv.git
    

      然后会在终端当前目录出现一个新文件夹,这个文件夹里就是opencv的源码。以下用:“源码文件夹”表示那个新文件夹。

    安装opencv

    安装前的注意事项

      有些版本的opencv源码比较坑,它在CMakeLists.txt里,把两个重要的工具opencv_createsamples、opencv_traincascade的编译给注释掉了,造成无法训练自己的分类器。
      如果需要这两个工具,可以在CMakeLists.txt里把相应的注释去掉。

    注:只有opencv3.4以及以前的版本才可以编译出opencv_traincascade,所有如果下载到的是opencv4,就不要折腾了。下面都以下载到opencv4为例。

    开始安装

    终端下命令行:

    cd 源码文件夹
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
    sudo make
    sudo make install
    sudo ldconfig
    

      此时,opencv就已经能用了,用python可以很方便的import cv2来使用opencv了。C++要调用opencv的库需要在编译你的代码的时候添加一些库,每个调用了opencv的工程都有添加这些库,手动添加上很麻烦,所以之后再用pkg-config配置opencv可以方便C++调用opencv库。

    注:上面的-D OPENCV_GENERATE_PKGCONFIG=ON,目的是自动生成.pc文件

    配置opencv

    如果安装后没有生成opencv4.conf文件

      编译出来用到opencv的程序运行时的依赖库配置。
      这一步未必需要,因为在安装其他工具的时候就可能已经把/usr/local/lib(也有可能是/usr/local/lib64)给包含进去了。
      首先查看你的opencv是安装在/usr/local/lib还是/usr/local/lib64
    用任意文本编辑器写一个文件:

    /usr/local/lib  #如果你的opencv安装在/usr/local/lib64就写/usr/local/lib64
    

      命名可以随意,我的命名是opencv4.conf。
      然后把文件放到/etc/ld.so.conf.d/。
    终端下命令行:

    sudo cp -f opencv4.conf /etc/ld.so.conf.d/
    sudo ldconfig
    

    如果安装后没有生成opencv4.pc文件

    用任意文本编辑器写一个文件:

    # Package Information for pkg-config
    
    prefix=/usr/local
    exec_prefix=${prefix}
    libdir=${exec_prefix}/lib  #如果你的opencv库是安装在/usr/local/lib64里的就写${exec_prefix}/lib64
    includedir_old=${prefix}/include/opencv4/opencv 	#就是下面那个路径加个/opencv
    includedir_new=${prefix}/include/opencv4           	#要根据实际情况以${prefix}/include/为前缀,以这个文件夹下能看到opencv2文件夹为准
    
    Name: OpenCV
    Description: Open Source Computer Vision Library
    Version: 4.3.0     #这里写你的opencv版本号
    #如果你的opencv缺了以下-l的一些库,就直接把那些-l删掉
    Libs: -L${libdir} -lopencv_dnn -lopencv_ml -lopencv_objdetect -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_imgproc -lopencv_flann -lopencv_core
    Libs.private: -ldl -lm -lpthread -lrt
    Cflags: -I${includedir_old} -I${includedir_new}
    

      命名为:opencv4.pc,并把该文件放到/usr/lib/pkgconfig/里,终端下命令行:

    sudo cp -f opencv4.pc /usr/lib/pkgconfig/
    

    注:不只是可以放到/usr/lib/pkgconfig/里,放到任意一个pkg-config配置目录里即可。在终端下输入命令:
    pkg-config --variable pc_path pkg-config
    即可查看所有的pkg-config目录(每个目录之间是以冒号分隔的)。
    Libs: 里的-l不一定完全有上面那些,如果在编译的时候,出现不能找到库的情况,就把那个不能找到库对应的-l给删了即可。

      其中,版本号的获取方法为:
    终端下命令行:

    python
    import cv2
    cv2.__version__
    

      然后就会得到你的opencv版本号。

    编译一个用到opencv的C++代码

      因为opencv有很多.so文件,要手动全部包含很麻烦,但是经过上面的配置后,要在自己的C++代码编译时链接opencv的所有.so以及包含所有.h目录就变得很简单了。
    终端下命令行:

    pkg-config --cflags --libs opencv4
    

      你就会看到所有的.so都被-l出来了,.h目录也被-I了,所以在编译自己的C++代码的时候,可以用这个命令来链接opencv,会比手动链接方便很多。

    简单的例子

    main.cpp

    //main.cpp
    #include <opencv2/opencv.hpp>
    #include <iostream>
     
    using namespace std;
    using namespace cv;
     
    int main(int argc, char *argv[])
    {
    	Mat img = imread("view.jpg");	//读入图片文件view.jpg
    	CascadeClassifier cascade;		//分类器
    	//下面那个.xml文件是官方训练好的人脸检测模型,我的opencv安装好后就会在这个路径下有这个.xml
    	const string path = "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml";
    	if (!cascade.load(path))		//加载官方训练好的人脸检测.xml
    	{
    		cout<<"cascade load failed!\n";
    	}
    	vector<Rect> faces(0);
    	cascade.detectMultiScale(img, faces, 1.1, 2, 0 ,Size(30,30));	//检测
    	cout<<"detect face number is: "<<faces.size()<<endl;
    	for(size_t i = 0;i < faces.size();i++)				//在img里画框框,把所有脸都框出来
    	{
    		rectangle(img, faces[i], Scalar(150, 0, 0), 3, 8, 0);
    	}
    	imwrite("out.jpg", img);		//把画好框的图片保存到out.jpg
    	return 0;
    }
    

    编译:

    g++ main.cpp -o main `pkg-config --cflags --libs opencv4`
    

    效果:运行main后会给view.jpg文件做人脸检测,输出检测到的人脸数量,框出view.jpg里所有检测出来的人脸,然后输出到文件out.jpg。

    如果一切正常就成功了,如果编译的时候报错:/usr/bin/ld: 找不到 -lxxx这种错误,就把opencv4.pc文件里的Libs: 里的那个-lxxx给删掉(找不到多少个就删掉多少个)。

    后话——卸载opencv

      即使不会用opencv,也要精通它的安装和卸载。安装方法上面已经说了,现在说说卸载方法。
      如果完全按照我之前写的来安装,那么它的卸载方法就是,终端下命令行:

    cd 源码文件夹
    cd release
    sudo make uninstall
    
    展开全文
  • 树莓派安装opencv坑太多了,本文档详细讲解了树莓派安装opencv详细过程,你值得拥有!!!!
  • 树莓派安装OpenCv

    2019-04-03 16:20:18
    树莓派安装OpenCV不像在平常的window或Ubuntu直接通过 pip install opencv-python就完成安装,在这之前需要安装OpenCV的相关依赖库,不然会导致安装失败。 一、读取源列表进行更新 sudo apt-get update 二...

    在树莓派上安装OpenCV不像在平常的window或Ubuntu直接通过 pip install opencv-python就完成安装,在这之前需要安装OpenCV的相关依赖库,不然会导致安装失败。

    一、读取源列表进行更新

    sudo apt-get update

    二、安装OpenCV相关依赖

    sudo apt-get install libjpeg-dev
    sudo apt-get install libatlas-base-dev
    sudo apt-get install libjpeg-dev
    sudo apt-get install libtiff5-dev
    sudo apt-get install libpng12-dev
    sudo apt-get install libqtgui4 libqt4-test
    sudo apt-get install libjasper-dev

    三、安装OpenCV

    sudo pip3 install opencv-python 

     四、测试

    终端输入 python3 ,进入python环境,输入

    import cv2

    如果可以成功输出OpenCV的版本号 ,则证明OpenCV安装成功!

    展开全文
  • 树莓派安装opencv教程

    2018-07-31 19:54:46
    树莓派安装opencv教程你值得拥有,请不要错过,或者犹豫,加油。
  • 主要介绍了树莓派安装OpenCV3完整过程的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 树莓派安装OpenCV3完整过程

    万次阅读 多人点赞 2018-01-29 10:47:51
    树莓派安装OpenCV3完整过程 1. 配置并更新树莓派系统 sudo raspi-config // 进入后打开摄像头、SSH sudo apt-get update sudo apt-get upgrade sudo rpi-update 2. 安装OpenCV的相关工具 sudo apt-get...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,873
精华内容 2,749
关键字:

树莓派安装opencv