文档章节

JavaCV CentOS7编译

抢小孩糖吃
 抢小孩糖吃
发布于 2017/06/23 20:53
字数 580
阅读 113
收藏 1

编者注

之前在Mac上简简单单就可以直接使用了,但是迁移到了CentOS,JavaCV获取相同的mov帧数时,总是获取0帧。在CentOS 6尝试编译各种缺少库,编译出现问题。这里仅仅只记录CentOS7

CentOS7

更新到最新环境

yum update

安装git

CentOS7刚刚安装好后是没有git的,需要重新安装git

yum install git -y

安装编译所使用的其他库

yum install -y autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel

javacpp-presets

javacpp-presets项目,是由JavaCV作者团队创建的,自动编译OpenCV、ffmpeg等JavaCV所用到的基础类库的自动编译。
根据官方文档让安装java7以上和maven

yum install java -y
yum install maven -y

使用git下载javacpp-presets

cd ~/build
git clone https://github.com/bytedeco/javacpp-presets.git

javacpp-presets自动编译

cd ~/build/javacpp-presets/

./cppbuild.sh -platform linux-x86_64 clean

./cppbuild.sh -platform linux-x86_64 install

使用安装命令会下载各种要安装opencv的包

安装opencv

./cppbuild.sh -platform linux-x86_64 install opencv

文件问题

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

经过确认是由于下载导致的文件错误,删除downloads内的opencv*的文件,重新下载即可

没有patch命令

../cppbuild.sh: line 21: patch: command not found

通过说明确认系统缺少patch命令

yum install patch -y

修复并开始编译

Cmake错误

CMake Error at cmake/OpenCVUtils.cmake:1047 (message):
  Failed to download v3.1.0/protobuf-cpp-3.1.0.tar.gz.  Status=7;"Couldn't
  connect to server"

又或者发生

-- Downloading v3.1.0/protobuf-cpp-3.1.0.tar.gz...
CMake Error at cmake/OpenCVUtils.cmake:1043 (file):
  file DOWNLOAD HASH mismatch

    for file: [/root/build/javacpp-presets/opencv/cppbuild/linux-x86_64/opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0/protobuf-cpp-3.1.0.tar.gz]
      expected hash: [bd5e3eed635a8d32e2b99658633815ef]
        actual hash: [f1fab991ab408cc55e90ee25c7bdbc5e]

由于hash值错误,则需要手动下载protobuf-cpp,到这里进行下载protobuf releases 或者点击protobuf-cpp-3.1.0.tar.gz进行下载
下载后,存放到如下地址

cd /root/build/javacpp-presets/opencv/cppbuild

尝试使用wget,但是不停报超时错误,最终还是用chrome下载并使用filezilla传到虚拟机中,再次执行虽然报错,但是顺利进入编译环节。

编译顺利通过。

安装ffmpeg

请反复进行下载,由于有个包在googlesrouce.com上经常链接不上

./cppbuild.sh -platform linux-x86_64 install ffmpeg

经过基础库的安装顺利编译

问题: https://github.com/opencv/opencv/tree/master/3rdparty/ffmpeg

http://kronoskoders.logdown.com/posts/256664-installing-opencv-and-ffmpeg-on-windows

http://opencv.org/releases.html

© 著作权归作者所有

共有 人打赏支持
上一篇: Python爬虫
下一篇: 对象存储OSS
抢小孩糖吃

抢小孩糖吃

粉丝 69
博文 236
码字总数 229004
作品 0
东城
程序员
私信 提问
关于JavaCV安装使用过程网上普遍出现的一个问题的解决办法

网上搜索JavaCV,目前的资料还是比较少的。 Windows环境下安装过程大致是:先下载OpenCV,配置一下OpenCV的环境变量,这里配置的意思是能让java找得到。然后再下载JavaCV,把需要的jar包放进...

Glogo
2013/04/17
4.6K
1
关于javacv的学习问题

请问如何系统的学习javacv,在网上找不到资料,如果有好的培训机构也行,恳请大家帮帮忙,实在迫切的需要它的知识。

余娴
2012/04/06
1K
1
Java基于百度AI+JavaCV+OpenCV 实现摄像头人数动态统计

【Java】人流量统计-动态版之视频转图识别请访问 http://ai.baidu.com/forum/topic/show/940413 本文是基于上一篇进行迭代的。本文主要是以摄像头画面进行人流量统计。并对返回图像进行展示。...

小帅帅丶
11/09
0
0
关于javacv的学习问题

请问如何系统的学习javacv,在网上找不到资料,如果有好的培训机构也行,恳请大家帮帮忙,实在迫切的需要它的知识。

余娴
2012/04/08
2.3K
2
求助利用java如何实现摄像头拍照和比对照片

情况是这样的...我想利用JMF或者JavaCV调用摄像头连续三连拍拍保存下来...然后比对它们文件大小是不是一致...代码应该怎样写...

Yamitake
2015/04/15
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

MYSQL事务处理

INNODB 事务里,所有表引擎必须为INNODB,在非实务表上操作,不会警告,不会报错,但没有效果

关元
20分钟前
1
0
cmake 编译脚本

#!/bin/sh test -d build || mkdir -p build cd build cmake .. make

shzwork
37分钟前
2
0
从零开始实现Vue简单的Toast插件

概述: 在前端项目中,有时会需要通知、提示一些信息给用户,尤其是在后台系统中,操作的正确与否,都需要给与用户一些信息。 1. 实例 在Vue组件的methods内,调用如下代码 `this``.$toast({...

前端小攻略
42分钟前
1
0
yaf和yaconf

pecl install yafpecl install yaconf [yaf] yaf.environ = dev yaf.use_spl_autoload = On yaf.use_namespace = 1 [yaconf] yaconf.directory = /data/wwwroot/yaconf......

果树啊
42分钟前
0
0
day01:shell基础(shell基础、alias及重定向)

1、shell基础介绍: shell是一个命令解释器,用于用户与机器的交互: 也支持特定的语法(逻辑判断,循环): 每个用户都有自己特定的shell:Centos7的shell是bash(bourne agin shell): shel...

芬野de博客
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部