Centos7编译opencv3.4.1

参考博客

https://blog.csdn.net/wjbwjbwjbwjb/article/details/79111996

1、配置epel源
yum -y install epel-release
2、安装依赖包和基础包
yum -y install gcc gcc-c++
yum -y install cmake
yum -y install python-devel numpy
yum -y install gtk2-devel
yum -y install libdc1394-devel
yum -y install libv4l-devel
yum -y install gstreamer-plugins-base-devel
3、安装ffmpeg-devel

制作一个bash脚本,一键运行

vim install-ffmpeg.sh
-----内容如下-----
yum -y install vim
yum -y install epel-release
sudo rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
yum repolist
sudo rpm -import hrrp://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-destop-release-0-1.el7.nux.noarch.rpm
yum repolist
yum update -y
yum install -y ffmpeg
ffmpeg -version -----内容如上----- -----赋予可执行权限
chmod +x install-ffmpeg.sh

安装ffmpeg-devel

yum install ffmpeg-devel
4、安装ant

ps:当初我是下载的二进制文件自己解压,配置的环境变量,

但是编译的时候并没有生成JNI文件;没有ant的话opencv编译安装的时候,

是不会打包成jar的

yum -y install ant(流泪推荐)
5、编译opencv

下载源码解压,进到源码目录中

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opencv-3.4.1/install -D BUILD_TESTS=OFF ..
make -j8
sudo make install

ps: cmake ... 命令后如果看到和下图大概一样的信息,就可以编译出java jar包,否则的话就编译不出,建议检查上面的步骤中是否有漏执行的,已经执行中出错的,出错的再执行一遍即可

到此安装成功,可以到./build/bin目录下查看是否有opencv-341.jar生成

如果有,说明安装成功了;还可以到./build/lib目录下查看是否有libopencv_java341.so生成

mac上我也安装过,并没有centos的复杂,建议安装的时候用google搜索安装教程

接下来几天我还会写一篇用maven搭建基于opencv的ssm项目,敬请期待

Centos7编译opencv3.4.1的更多相关文章

  1. CentOS7编译安装Nginx-1.8.1和编译参数

    CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx    LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...

  2. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  3. win7 x64 +vs2015 + cmake3.10.3编译opencv-3.4.1+opencv_contrib-3.4.1源码,并进行配置

    简介: 一直以来都是在ubuntu下使用opencv,最近因为有<图像处理与模式识别>这门课,需要使用vs2015+opencv提交课程作业,因为opencv官方编译好的exe没有cont ...

  4. 树莓派中编译Opencv3.4.1和OpenCVSharp库

    一.简介 本文主要讲在树莓派中编译Opencv3.4.1和OpenCVSharp库,方便C#开发人员可以通过Mono或者Netcore运行C#通过OpenCVSharp写的OpenCV库. 二.过程 ...

  5. 树莓派中编译OpenCV3.4.1和OpenCvSharp

    一.简介 本文重点描述在树莓派中编译OpenCV3.4.1和OpenCvSharp,大家都知道OpenCVSharp是使用C#调用OpenCV最简洁的一个库.但是在Linux上或者树莓派上运行时,需要 ...

  6. ubuntu编译opencv3.1遇到的问题

    网上有很多关于编译的具体步骤,我也是按照网上的说明一步步操作的,这里主要想记录的是在安装完之后,import cv2不存在以及其他的libopencv_hdf.so.3.1等找不到的问题,如果将这样的 ...

  7. 如何为Android平台编译 opencv3 和 opencv_contrib (Linux)

    编译出来的opencv库有问题,正在调试中 ...... 本文以编译opencv 3.3.0 和 opencv_contrib 3.3.0为例,系统为 Linux x64 (Fedora 21),具体 ...

  8. centos7 编译安装新版LNMP环境

    centos7 编译安装新版LNMP环境 环境版本如下: 1.系统环境:Centos 7 x86_64 2.NGINX:nginx-1.11.3.tar.gz 3.数据库:mariadb-10.0.2 ...

  9. CentOS7编译安装httpd-2.4.41 php7.3

    CentOS7编译安装httpd-2.4.41 php7.3 安装参考环境: CentOS Linux release 7.5.1804 (Core) 一.安装依赖包 httpd安装的依赖包 # yu ...

随机推荐

  1. Windows安装nvm和node, 以及安装live-server

    nvm下载源https://github.com/coreybutler/nvm-windows/releases 参考博客: 主要https://www.cnblogs.com/hamsterPP/ ...

  2. python 自动化之路

    https://www.cnblogs.com/yangliheng/category/878973.html

  3. json之dump和dumps,load和loads

    import json#反序列化f = open('test', 'rb')data = json.load(f) #相当于下句# data = json.loads(f.read()) #序列化f ...

  4. java——类、对象、方法

    一.类 1.Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类. 一个java文件可以有多个类,但是每一个类都会生成一个class字节码文件. 如果class 前加public ...

  5. Flask项目笔记

    一.jsonify  jsonify 是flask的函数,可以将字典转换成json数据返回给浏览器二. 钩子函数 @app.before_first_request:第一次请求调用,用于初始化数据 @ ...

  6. Ruby中puts,print,p的区别

    如果字符串的行尾没有包含换行符,puts就会添加一个,但print不会: print会精确打印内容并让光标留在末尾(在某些系统平台,在程序输出的末尾会自动换行): p会输出一个审查字符串,它通常会包含 ...

  7. day 21 内存管理,正则

    一.内存管理 1.垃圾回收 不能被程序访问到的数据,就称之为垃圾. 2.引用计数 引用计数是用来记录值得内存地址被记录的次数 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可 ...

  8. spring cloud使用Feign做消费端时的eureka.client.registerWithEureka/eureka.client.fetchRegistry是否配置的问题

    记录一下今天工作中的一个小失误. 今天用Feign搭建服务消费者的时候,考虑消费者不需要再提供服务给其他服务,所以不需要注册到注册中心(eureka)中.结果把registerWithEureka和f ...

  9. 通过ajax提交表单上传文件

    //这是看的大神的.//原地址:https://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html $("#sub" ...

  10. python自动生成bean类

    近期在学习python,一直在和java做对比,目前没有发现有通过字段自动生成getter setter方法,故此自己写了一个类,可以通过__init__方法传入类名和字段数组,再调用内部的方法,就可 ...