一开始在官网教程,不得不说,很方便,但是总感觉对英语不好的人不友好,而且没有注解,不知道为啥这样,总之,对Linux及opencv小白不友好。附官网地址:OpenCV: Installation in Linux
随着年纪大了,大家都想找一个完整的贴心的教程,由于教程比较长,很多原理可以看我参考的文章或者自己百度。
一. 我看的主要博客
翻了好久看到一篇详细靠谱的,链接:(8条消息) linux下编译安装opencv生成opencv.pc_浓茶淡酒的博客-CSDN博客_linux cmake编译opencv
压缩包可以提前在ubuntu上火狐浏览器下载下来。
很多人在第一步时就卡住了,apt-get install libjasper-dev 这里报错,出现E:无法定位libjasper-dev,注意,如果有权限问题比如修改配置文件可以sudo su上输入密码进入权限管理员。
然后你去找教程解决这个问题:(8条消息) 无法定位libjasper-dev_向日葵骑士Faraday的博客-CSDN博客_无法定位软件包libjasper-dev
比如这位老哥,其实别人的方法也都大同小异,都是提供一个链接,大概意思就是把这个网址加入到系统的一个存储网址的tx文件中,以便下载时系统会从里面挨个url去找,也有直接打开这个txt文件的,把清华园地址加进去的,基本作用都一样,在Ubuntu终端我喜欢用gedit命令打开文件,主要跟记事本一样方便,而不是vim感觉有点难受。
其实你发现还有一个问题,运行安装命令发现没有public证书 ,可以参考方法,缺啥密钥就填啥就行。(8条消息) apt-get update 由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32_剑之所向的博客-CSDN博客
这个问题基本解决了,编译时推荐make -j32,反正是越大越好,然后再make install,基本上就安装成功了,接下来搞环境变量,让系统能够查找到这个动态库,参考第一篇文章,最后编译一个例子试试,请注意,在官网及很多教程中编译源码都是带上后面的参数,要不然系统会报错,提醒你找不到这个头文件 ,这时候需要在后面加上参数如下:
g++ test.cpp -o test `pkg-config --libs --cflags opencv4`
还有一种方法有点忘记需不需要了,大概意思就是说在/etc/usr/include/下目录有opencv4,但是没有opencv2,这个2是在4里面的,我们要把2提到include目录下,和4同级。
关于 VScode远程连接服务器找不到头文件,他会提醒你在c/c++里添加地址,你只要把你自己解压后的文件夹里opencv2的地址加进去就行,并不需要修改啥json配置文件,或者加上面的include目录,反正就是目录不对,他在这个目录下找不到头文件。
记住,不要去修改json文件,只要按照他每一项看下来,在路径那里按照要求另起一行添加地址就行,不要删掉之前的地址。
参考博客:见上文