OpenCV安装
OpenCV安装
声明:此文是在天下文章一大抄的百度帮助下,完成的;首先说明,本人并非原创,根据大神文章尝试实验,我只想记录一下,安装的过程和问题以及解决方法!如侵犯您的权益请告知
环境:
1. 系统: ContOS7
2. GCC: gcc version 4.8.5 (GCC) 及以上均可
3. cmake: cmake version 2.8.12.2 及以上均可
4. Python: Python 2.7.11
安装基本工具:
在安装之前,要先配置好epel源,因为下面的某些安装在系统自带的源中找不到
1 | yum - y install epel - release |
首先是gcc,g++等这些基本的工具
1 2 3 | yum install gcc gcc - c + + yum install cmake yum install python - devel numpy<br>yum install python - imaging |
安装numpy如果出错的朋友,可以通过源码包安装(其它的我是没出现问题)
1 2 3 4 5 | # 我安装的是1.9.0版本,经检测时可用的(如有版本问题自行下载) wget http: / / jaist.dl.sourceforge.net / project / numpy / NumPy / 1.9 . 0 / numpy - 1.9 . 0.zip unzip numpy - 1.9 . 0.zip cd numpy - 1.9 . 0 python setup.py install |
安装OpenCV依赖:
1 2 3 4 5 6 7 8 9 | yum install gtk2 - devel yum install libdc1394 - devel yum install libv4l - devel yum install gstreamer - plugins - base - devel yum install gtk * # ==========虽说我也不太清楚这些依赖包都是干啥的吧!我反正是装上了=============== yum install gtk + - devel gimp - devel gimp - devel - tools gimp - help - browser zlib - devel libtiff - devel libjpeg - devel libpng - devel gstreamer - devel libavc1394 - devel libraw1394 - devel libdc1394 - devel jasper - devel jasper - utils swig libtool nasm # 友情提示:如果出错,可以一个一个装,然后解决依赖,我这里是没有出问题 |
yasm
1 2 3 4 5 | wget http: / / www.tortall.net / projects / yasm / releases / yasm - 1.3 . 0.tar .gz tar zxvf yasm - 1.3 . 0.tar .gz cd yasm - 1.3 . 0 . / configure - - prefix = / usr make && make install |
安装ffmpeg(大坑,我之前已经装好了一套opencv,但是就是因为装ffmpeg的问题,运行的时候各种错误,导致没办法使用),以下为正确姿势
1 2 3 4 5 6 7 8 9 10 11 12 | yum install libopencore - amr - devel.x86_64 libopencore - amr.x86_64 yum install libmp3lame.x86_64 libmp3lame - devel.x86_64 yum install libass.x86_64 libass - devel.x86_64 yum install opus.x86_64 opus - devel.x86_64 yum install pulseaudio - libs.x86_64 pulseaudio - libs - devel.x86_64 yum install libsoxr - devel.x86_64 libsoxr.x86_64 yum install speex.x86_64 speex - devel.x86_64 yum install libvorbis - devel.x86_64 libvorbis.x86_64 yum install libvpx.x86_64 libvpx - devel.x86_64 yum install libxvidcore - devel.x86_64 libxvidcore.x86_64 # 以上安装包,建议全部安装上,否则按编译的ffmpeg的时候可能会出现各种缺失 |
图1安装ffmpeg所需的安装包
下面就开始一个个的安装了!!!(要有耐心,有句mmp不知当讲不当讲)
1、lame
1 2 3 4 5 6 | url:https: / / sourceforge.net / projects / lame / files / lame / 3.100 / lame - 3.100 .tar.gz / download tar - zxvf lame - 3.100 .tar.gz cd lame - 3.100 . / configure - - enable - shared - - prefix = / usr make make install |
2、libogg
1 2 3 | url:http: / / downloads.xiph.org / releases / ogg / libogg - 1.1 . 3.tar .gz<br>tar - zxvf libogg - 1.1 . 3.tar .gz<br>cd libogg - 1.1 . 3.tar .gz . / configure - - prefix = / usr make && make install |
3、libvorbis
1 2 3 4 5 6 | url:http: / / downloads.xiph.org / releases / vorbis / libvorbis - 1.1 . 2.tar .gz tar - zxvf libvorbis - 1.1 . 2.tar .gz cd libvorbis - 1.1 . 2 . / configure - - prefix = / usr make make install |
4、xvid
重点提示:安装版本必须要在1.3.0之上(安装低版本会遇到坑,可自行尝试)
1 2 3 4 5 6 | url:http: / / downloads.xvid.org / downloads / xvidcore - 1.3 . 3.tar .gz tar zvxf xvidcore - 1.3 . 3.tar .gz cd xvidcore - 1.3 . 3 / build / generic . / configure - - prefix = / usr make make install |
5、x264
1 2 3 4 5 | url:ftp: / / ftp.videolan.org / pub / x264 / snapshots / last_x264.tar.bz2 tar - jxvf x264 - snapshot - 20160411 - 2245.tar .bz2 . / configure - - prefix = / usr - - enable - shared make make install |
6、libdts
1 2 3 4 5 | tar - zxvf libdts - 0.0 . 2.tar .gz cd libdts - 0.0 . 2 . / configure - - prefix = / usr make make install |
7、a52
1 2 3 4 5 6 | url:http: / / liba52.sourceforge.net / files / a52dec - 0.7 . 4.tar .gz tar - zxvf a52dec - 0.7 . 4.tar .gz cd a52dec - 0.7 . 4 . / configure - - prefix = / usr make make install |
8、faad2
1 2 3 4 5 6 | url:http: / / downloads.sourceforge.net / faac / faad2 - 2.7 .tar.bz2 tar - jxvf faad2 - 2.7 .tar.bz2 cd faad2 - 2.7 .tar.bz2 . / configure - - prefix = / usr - - with - mp4v2 - - enable - shared make make install |
9、faac
1 2 3 4 5 6 7 | url:http: / / downloads.sourceforge.net / faac / faac - 1.28 .tar.bz2 tar - jxvf faac - 1.28 .tar.bz2 cd faac - 1.28 . / bootstrap . / configure - - prefix = / usr make make install |
10、amr-nb
1 2 3 4 5 6 | url:http: / / ftp.penguin.cz / pub / users / utx / amr / amrnb - 6.1 . 0.4 .tar.bz2 tar - jxvf amrnb - 6.1 . 0.4 .tar.bz2 cd amrnb - 6.1 . 0.4 . / configure - - prefix = / usr make make install |
11、amr-wb
1 2 3 4 5 6 | url:http: / / ftp.penguin.cz / pub / users / utx / amr / amrwb - 7.0 . 0.1 .tar.bz2 tar - jxvf amrwb - 7.0 . 0.1 .tar.bz2 cd amrwb - 7.0 . 0.1 . / configure - - prefix = / usr make make install |
12、lib52
1 2 3 4 5 6 | url:http: / / liba52.sourceforge.net / files / a52dec - 0.7 . 4.tar .gz tar - zxvf a52dec - 0.7 . 4.tar .gz cd a52dec - 0.7 . 4 . / configure - - prefix = / usr make make install |
这12个安装完成后,就可以尝试安装ffmpeg了
1 2 3 4 5 6 7 | url:http: / / ffmpeg.org / releases / ffmpeg - 3.4 . 1.tar .bz2 tar - jxvf ffmpeg - 3.4 . 1.tar .bz2 cd ffmpeg - 3.4 . 1 . / configure - - prefix = / usr - - enable - gpl - - enable - shared - - enable - libmp3lame - - enable - libogg - - enable - libvorbis - - enable - libamr - nb - - enable - libamr - wb - - enable - libxvid - - enable - libx264 - - enable - liba52 - - enable - liba52bin - - enable - libfaac - - enable - libfaad - - enable - libfaadbin - - enable - pp - - enable - pthreads - - disable - ffserver - - disable - ffplay make # 编译时间有点长,过程中可能会出现错误,可以根据错误,定位一下(之前咱们的一些依赖都已经安装了,应该不会出现太多错误了,如有错误,请自行Google) make install |
如果make时,出现一下错误,可根据错误进行安装
错误:ERROR: x265 not found using pkg-config
1 | # 去掉编译参数: --enable-libx265 |
错误: ERROR: libx264 not found
1 2 3 4 5 | ftp: / / ftp.videolan.org / pub / x264 / snapshots / last_x264.tar.bz2 tar - jxvf last_x264.tar.bz2 cd last_x264 . / configure - - enable - static make && make install |
安装OpenCV
1. 从官网下载 opencv-2.4.13.zip
2. 执行安装
1 2 3 4 5 6 7 | unzip opencv - 2.4 . 13.zip cd opencv - 2.4 . 13 # 此处大约1分钟,会看到很多打印信息,包括ffmepg的配置信息 cmake CMakeLists.txt # 编译时间很长(大约30分钟) make make install |
安装过程时间可能会有点长10~30分钟左右,编译完成之后OpenCV就安装到了指定的/usr/local下面的一些目录中,库文件就安装到了/usr/local/lib下,Python的模块安装位置是:/usr/local/lib/python2.7/site-packages,执行 ls /usr/local/lib/python2.7/site-packages/ 可以看到两个文件,一个是cv2.so一个是cv.py
3. 复制到python环境中
1 | ln / usr / local / lib / python2. 7 / site - packages / cv. * / home / zk / python_env / scrapy_env / lib / python2. 7 / site - packages |
4. 验证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/usr/local/bin/python # -*- coding: utf8 -*- import cv2 import os, sys BASE_PATH = os.path.dirname(os.path.abspath(__file__)) file_path = os.path.join(BASE_PATH, "fj.jpg" ) img = cv2.imread(file_path) cv2.namedWindow( "Image" ) cv2.imshow( "Image" , img) cv2.waitKey( 0 ) cv2.destroyAllWindows() |
终于成功了,浪费整整一天时间!!!好吧,我承认,我比较笨!
参考:http://blog.csdn.net/shine_journey/article/details/69544219
参考:http://blog.csdn.net/guiru/article/details/6023691
参考:http://rickie622.blog.163.com/blog/static/212388112014113125836773
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性