经过了两个星期的琢磨和研究,想要记录一下安装opencv的流程
以下凡是我看不懂的都会有注释的!省的再去找资料。
如何组装系统这些小白不哆嗦请自行研究学习~谢谢~
第一步:只有一个优秀的源才能有卓越的操作,换了一个合适的源可以大大减少自己花费的时间,小白用的是清华源送上网址raspbian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror(可以根据不同的版本选合适的很适合萌新),换软件源——编辑/etc/apt/sources.list文件。参考命令:
$ sudo nano /etc/apt/sources.list
可以用#
注释掉原文件内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free
注意: 网址末尾的raspbian
重复两次是必须的。因为Raspbian的仓库中除了APT软件源还包含其他代码。APT软件源不在仓库的根目录,而在raspbian/
子目录下。
编辑镜像站后,请使用sudo apt-get update
命令,更新软件源列表,同时检查您的编辑是否正确。
保存Ctrl+O,然后按回车,然后Ctrl+X退出,这样换源结束了。
第二步 安装依赖包——这东西很重要类似于根基。
sudo apt-get update #更新
sudo apt-get upgrade
安装cmake:
sudo apt-get install build-essential cmake pkg-config
安装各种图像的格式包:
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
安装视频I/O包:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
安装GTK开发库:
sudo apt-get install libgtk2.0-dev
PS:小白因为源的问题卡这里好久了,惨痛的代价啊~
顺便送上一个很厉害的东西(小白觉得厉害就是厉害~)
下列软件包有未满足的依赖关系:
vim : 依赖: vim-runtime (= 2:7.4.488-7+deb8u3) 但是 2:8.0.0197-4+deb9u1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
(为了萌新看得懂直接变成中文,贴心不!)
解决方法是安装aptitude,他能智能添加依赖文件
sudo apt-get install aptitude
安装完成后就可以使用这个命令进行安装软件了
sudo aptitude install 。。。。。#省略号是要安装的东西
因为有些版本和软件的要求会升级和降级一些版本的。
一般来说按我的思路走以上没问题的!
第三步下载Opencv源代码
cd~
mkdir opencv #创建一个叫opencv的文件夹
cd opencv #这是打开opencv
下载opencv 3.4.1源代码
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
unzip opencv.zip
#解压这一步最好看一下你下载来的文件叫什么。不一定就叫opencv.zip,有可能叫3.4.1.zip的
安装后,我们还需抓取OpenCV的contrib的存储库:
这里opencv和opencv_contrib的版本一定要相同!!!!就像小孩穿大人衣服一样不合适!
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
unzip opencv_contrib.zip #同上
到这里都没什么问题那说明你很有潜质!优秀!
第四步编译安装Opencv
接着我们使用CMake设置构建:
cd ~/opencv/opencv-3.4.1/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON .. #空格加两个英文点
接下来就要进行编译了:
make
小白是make编译的,我的make -4j操作不起来一时不知道为啥。。。
听说make -j4四核运行发烫速度贼快。
最后出现configuration done和什么什么done 说明编译成功了。(划水了!)
安装Opencv
sudo make install
sudo ldconfig
这里就ok啦!恭喜获得Opencv极品装备!
接下来就是使用Opencv看那个啥嗯拍视频了!
小白使用的是罗技C270摄像头。
运行Opencv
查看设备:
lsusb
自己用什么找找看上面会显示的这个别慌。
创建cpp
mdkir opencv_project
cd opencv_project
touch test_opencv.cpp
然后用vim编辑器运行刚刚创建的text_opencv,输入以下代码
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main()
{
VideoCapture cap(200);//打开摄像头
if(!cap.isOpened())
return -1;
Mat frame,edges;
while(1){
cap>>frame;//读取当前帧
cvtColor(frame,edges,CV_BGR2GRAY);//把图像转换为灰度图像
blur(edges,edges,Size(7,7));//模糊降噪
Canny(edges,edges,3,9,3);//Canny 边缘检测
imshow("OpenCV Canny", edges);
if(waitKey(20) >=0) break;
}
return 0;
}
然后再cmd里面命令
g++ text_opencv.cpp `pkg-config --cflags --libs opencv` -o test
之后打开文件夹你会看到一张纸上有个小飞机的。双击你就会看到新的世界!
谢谢阅读!本人是新手如有错误请指正,谢谢!