java+opencv_opencv使用教程

java+opencv_opencv使用教程opencv简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度百科)。opencv安装Windows1.到OpenCV官网下…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1e685c5fd3dd699094c6518d2db1f6db.png

opencv 简介

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度百科)。

opencv 安装

Windows

1.到OpenCV官网下载你需要的版本。

b040927b80a6f3a97ecd11db3b8828ea.png

2.执行 opencv-4.4.0-vc14_vc15.exe

48a4f73d10b52266212b077207bc607b.png

a8929b8d24640709a142c146c3f62cb5.png

4983e7cce6d8d4766fbd918e9b7e8a8e.png

3.配置环境变量

8ea8767acdf38ff378c3e5873e37d490.png

Centos

安装依赖包

yum install cmake gcc gcc-c++ 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 python libtool nasm build-essential ant

1.下载opencv-4.4.0.zip并解压缩

wget https://github.com/opencv/opencv/archive/4.4.0.zip

2.新建一个build文件夹

cd opencv

mkdir build

cd build

3.Cmake

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTS=OFF ..

注意“to be build”要包含“Java”,同时JAVA_HOME要正确配置。

make

make 命令安装的时间有点长,可以撸一把王者,电脑好点的话,可以执行

make -j4

(在多核宿主机上,可以通过-j选项来提高make命令的执行速度,单核机器就不要尝试了)

sudo make install

4.等 make install 执行完毕之后,需要对环境变量进行配置

cp -r /usr/local/share/java/opencv4/libopencv_java440.so /usr/lib

配置完成后重新打开终端,使得配置生效

5.opencv的测试

ldconfig -v | grep opencv

检查opnecv是否安装成功

java 集成 opencv

f18012e6a046a119b3718ff1dafc96a6.png

1.将 opencv-440.jar 复制到自己的java项目里面

0d74a922d5e153be47517d9984e5f245.png

7f020515ff89e7c7a86e2764d4b008cd.png

57065bbabed8f39d5a99b3c831cb9778.png

7ba7f2dd5e3a78c2ecfe2cc1d45768e2.png

2.将 opencv_java440.dll 复制到 JAVA_HOME\jre\bin 目录

8f75cf1ad850db47f929d2545d4ac43b.png

7ba10d426fdb620e0ee0a55bbea792fb.png

java 代码测试

import org.opencv.core.Core;

import org.opencv.core.CvType;

import org.opencv.core.Mat;

public class Hello

{

public static void main( String[] args )

{

System.loadLibrary( Core.NATIVE_LIBRARY_NAME );

Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );

System.out.println( “mat = ” + mat.dump() );

}

}

输出

mat = [ 1, 0, 0;

0, 1, 0;

0, 0, 1]

常见问题

no opencv_java440 in java.library.path

388bcdd0493ca15f05d2a23916121264.png

这是因为没有加载到 opencv_java440.dll ,将 opencv_java440.dll 复制到 JAVA_HOME\jre\bin 目录就可以了。

2. cmake 版本太低

wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz

# 解压文件

tar zxvf cmake-3.9.2.tar.gz

cd cmake-3.9.2

./configure

make

sudo make install

3. 下载 ippicv_2020_lnx_intel64_20191018_general.tgz 很慢

# 用迅雷先下载好,https://raw.githubusercontent.com/opencv/opencv_3rdparty/ippicv/master_20191018/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz

# 指定目录

vim 3rdparty/ippicv/ippicv.cmake

de22aff4c2499ebedb72c5b8e6009ba0.png

将 https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/ 替换成 ippicv_2020_lnx_intel64_20191018_general.tgz所在的目录

“file:~/ippicv/” #(仅供参考,根据自己的路径填写)

参考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186454.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • git 删除文件 、只删除远程仓库文件、更换远程仓库

    git 删除文件 、只删除远程仓库文件、更换远程仓库

    2022年2月9日
    47
  • 数字电路实验(一)——译码器

    数字电路实验(一)——译码器1、实验步骤:异或门过程1、 新建,编写源代码。(1).选择保存项和芯片类型:【File】-【newprojectwizard】-【next】(设置文件路径+设置projectname为【C:\Users\lenovo\Desktop\笔记\大二上\数字电路\实验课\实验一\异或门】)-【next】(设置文件名【gg】)-【next】(设置芯片类型为【cyclone-EP1CT144C…

    2022年7月12日
    16
  • hdfs常用操作命令

    hdfs常用操作命令hdfs常用操作命令

    2022年4月23日
    37
  • java velocity 语法_Velocity 语法

    java velocity 语法_Velocity 语法VelocityNotes变量名$name为空时打印变量本身。$!name为空时打印空字符串(不打印任何内容)。${name}类似$name,为空时原样打印。但可以将变量和连续的字符串分隔,例如:${name}space。$!{name}类似$!name,为空时打印空字符串,但可以将变量和连续的字符串分隔。例如:$!{name}space。$name$!name${name}$!{name…

    2022年7月14日
    31
  • Django(18)聚合函数

    Django(18)聚合函数前言orm模型中的聚合函数跟MySQL中的聚合函数作用是一致的,也有像Sum、Avg、Count、Max、Min,接下来我们逐个介绍聚合函数所有的聚合函数都是放在django.db.models

    2022年7月28日
    1
  • matlab强化学习DDPG算法改编/菜鸟理解2——航天器三轴姿态稳定器学习算例「建议收藏」

    matlab强化学习DDPG算法改编/菜鸟理解2——航天器三轴姿态稳定器学习算例「建议收藏」目录写在前面matlab强化学习库简介航天器三轴姿态稳定器介绍算法流程代码/simulink结果展示与分析一些心得写在最后写在前面%写在前面:本人大四狗一名,不是计算机专业,所以这方面比较菜。最近在学习强化学习的一些算法,python更新太快,很多一两年前的学习资料就不太能用了,涉及到版本匹配和语法的更改等一系列问题。2020b的matlab中加入了DDPG\TD3\PPO等算法的强化学习算例和强化学习库,于是想用matlab来做强化学习。由于本人是航空航天工程专业的,又和毕设有点联系,于是想试一下

    2022年6月17日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号