2018-11-07关于opencv的二三事——opencv降版本

之前,图新在新配的工作站上安装了高版本的OpenCV3,后来因项目需求,发现和其他程序版本冲突了,需要将opencv降到2版本,即卸载OpenCV3,安装OpenCV2。。。
本来想装个双版本opencv,但是发现网上大多教程都是先装低版本再装高版本的,或者先把低版本卸载了,然后再装高版本的。。。
哎,没办法,自力更生吧。。。
先把高版本卸了,装低版本试试吧。。。
系统:ubuntu16.04 64位
python:Anaconda3/python2.7
---------------------------------------------卸载高版本------------------------------------------
先说些要用的指令,这些都是参照网上的(网址为:https://blog.csdn.net/qq_29229045/article/details/78527391):
1.查询已装opencv版本
$pkg-config --modversion opencv
2.卸载已装opencv
$cd /opencv_install_dir/build(release)/
$sudo make uninstall
$cd ..
$rm -rf build(release)/
$cd ..
$rm -rf opencv

3.卸载残留
$ rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
$ cd /usr
$ find . -name "*opencv*" | xargs sudo rm -rf
---------------------------------------------安装低版本------------------------------------------
参考博客:https://blog.csdn.net/u011557212/article/details/54706966?utm_source=itdadao&utm_medium=referral
1.下载opencv2
$wget https://github.com/Itseez/opencv/archive/2.4.13.zip
2.打开文件夹"opencv-2.4.13":
$cd opencv-2.4.*
3.新建一个文件夹用于存放临时文件:
$mkdir release
4.切换到该临时文件夹:
$cd release
5.开始编译:
$cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
$make -j4
$sudo make install
6添加到python编译环境下(将编译生成的cv2.so文件拷贝到你的python版本的调用库下,下面是我的环境设置,这个需要根据你的实际路径具体调整)
$sudo cp /usr/local/lib/python2.7/dist-packages/cv2.so \
~/anaconda3/envs/py2-tf/lib/python2.7/siate-packages
其他后续配置可参照博客。
---------------------------------------------我是分界线------------------------------------------
报错:
1. cuda错误:
执行以下命令
$cmake -D CMAKE_BUILD_TYPE=Release -D MAKE_INSTALL_PREFIX=/usr/local ..
报错:CUDA_nppi_LIBRARY (ADVANCED)
原因分析:
根据博客(网址为https://blog.csdn.net/chenhuan20123/article/details/79574046)可知:
cuda9不再支持2.0架构,同时该博客给出解决办法如下:

解决办法:
在编译的命令里面添加一条-D WITH_CUDA=OFF就行了。
$cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=OFF -D BUILD_TESTS=OFF ..
---------------------------------------------我是分界线------------------------------------------
2. 库连接错误:libpcre.so.1
```//home/clt/anaconda3/lib/libpcre-1.0.so: undefined reference to `gst_base_src_submit_buffer_list'

解决办法:
参考网上办法(具体网址不记得了,回来找到补上)
$ sudo ln -s ~/anaconda3/lib/libpcre-1.0.so /usr/lib/x86_64-linux-gnu/libpcre-1.0.so

---------------------------------------------我是分界线------------------------------------------
3.. 库连接错误:libgstapp-1.0.so.0
//home/clt/anaconda3/lib/libgstapp-1.0.so.0: undefined reference to `gst_base_src_submit_buffer_list' //home/clt/anaconda3/lib/libgstapp-1.0.so.0: undefined reference to `gst_queue_array_peek_tail' //home/clt/anaconda3/lib/libgstapp-1.0.so.0: undefined reference to `gst_queue_array_pop_tail' collect2: error: ld returned 1 exit status modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/build.make:621: recipe for target 'bin/opencv_perf_imgproc' failed make[2]: *** [bin/opencv_perf_imgproc] Error 1 CMakeFiles/Makefile2:1393: recipe for target 'modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all' failed make[1]: *** [modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2

原因分析:
可能是anaconda3的lib库内的库文件版本可opencv2版本不匹配。

解决办法:

  1. 移除高版本的libgstapp库
    $sudo rm -rf ~/anaconda3/lib/libgstapp-1.0.so.0
  2. 将ubuntu自带的低版本库建立软连接
    $sudo ln -s /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0 ~/anaconda3/lib/libgstapp-1.0.so.0
    3.激活软连接
    $sudo ldconfig
    4.清除make之前错误生成的文件
    $make clean
    5.重新生成make文件
    $make -j8
    ---------------------------------------------我是分界线------------------------------------------
    上述全为本人实际操作,犯错总结,希望对你有用。
    尊重原创,如需转载,请注明链接出处,谢谢。
    最后,希望大家有问题留言讨论,共同学习,共同进步。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270