JavaCV CentOS7编译
JavaCV CentOS7编译
抢小孩糖吃 发表于6个月前
JavaCV CentOS7编译
  • 发表于 6个月前
  • 阅读 74
  • 收藏 1
  • 点赞 0
  • 评论 0

编者注

之前在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

共有 人打赏支持
抢小孩糖吃
粉丝 61
博文 182
码字总数 202790
×
抢小孩糖吃
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: