java opencv教程_史上最全 java 集成 opencv 教程
opencv 简介
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度百科)。
opencv 安装
Windows
1.到OpenCV官网下载你需要的版本。
2.执行 opencv-4.4.0-vc14_vc15.exe
3.配置环境变量
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
1.将 opencv-440.jar 复制到自己的java项目里面
2.将 opencv_java440.dll 复制到 JAVA_HOME\jre\bin 目录
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
这是因为没有加载到 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
将 https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/ 替换成 ippicv_2020_lnx_intel64_20191018_general.tgz所在的目录
"file:~/ippicv/" #(仅供参考,根据自己的路径填写)
参考
java opencv教程_史上最全 java 集成 opencv 教程相关推荐
- 如果自己组装一个台式计算机有哪些,2015电脑组装教程:史上最全自己组装电脑教程...
DIY电脑一直都是电脑爱好者非常喜欢的,电脑组装通常包括电脑硬件的选择,DIY硬件组装以及操作系统安装三个部分. 对于电脑爱好者来说,通过自己动手DIY组装电脑,不仅可以更为深刻的认识硬件,了解电脑主 ...
- java jackson教程_史上最全的Jackson框架使用教程
简单介绍 别再使用 fastJson 了!漏洞天天报,Bug 修不完.快来拥抱 Jackson 吧! Jackson 是用来序列化和反序列化 json 的 Java 的开源框架.Spring MVC ...
- java springmvc 教程_史上最全最强SpringMVC详细示例实战教程
SpringMVC框架介绍 1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring 框架提供了构建 Web 应用程序的全功 ...
- 易鑫集团Java面试题_史上最全!2020面试阿里,字节跳动90%被问到的JVM面试题(附答案)...
前言:最近老是收到小伙伴的私信问我能不能帮忙整理出一份JVM相关的面试题出来,说自己在大厂去面试的时候这一块问的是特别多的,每次自己学的时候每次都学不到重点去.这不他来了,一份详细的JVM面试真题给大 ...
- cad和python哪个应该学_史上最全Python快速入门教程,满满都是干货
Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力. Python的语法和动态类型具有其解释性质,使其成为 ...
- java mvc学习_史上最全的SpringMVC学习笔记
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 springmvc o ...
- 排序算法java 简书_史上最全经典排序算法总结(Java实现)
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中.因为其实现代码较短,应用较常见.所以在面试中经常会问到排序算法及其相关的问题.但万变不离其宗,只要熟悉了思想,灵活运用也不是难事.一般在 ...
- java二叉树原理_史上最全二叉树遍历详解(Java实现,原理相同)
二叉树遍历方法合集: 最近在LeetCode力扣上刷数据结构的二叉树合集,遇到的二叉树遍历方法,于是想理解透彻.本文讲解了二叉树遍历的四种方法,前.中.后序遍历. 对应题目: 94.二叉树的中序遍历 ...
- java 异常 中英文_史上最全的Java中所有Exception异常中英文对照
Java中所有Exception异常中英文对照AclNotFoundException, 如果对不存在的访问控制列表进行访问,则会 ArithmeticException 算数异常 ArrayInde ...
- 如何恢复vscode的默认配置_史上最全vscode配置使用教程
工欲善其事,必先利其器.想要优雅且高效的编写代码,必须熟练使用一款前端开发工具.但前端开发工具数不胜数,像HBuilder.Sublime Text.WebStorm.Visual Studio Co ...
最新文章
- 人工智能的浪潮中,知识图谱何去何从?
- 监听者模式理解(Swing)
- 串口ic读卡器源码-c#代码(2)续上
- 计算机网络【4】传输层
- python内存注入代码_Python模板注入
- rust怎么关阳光指令_我家也有庭院多好,伸缩阳光房装上,能休闲能当车库,还不算违建...
- MySQL8.0数据库配置注意事项
- wince植入胎压监测_wince设备通过USB连接线上网指南(原创)(测试成功)
- Hprose轻松实现远程过程调用(RPC)
- 互联网大佬扎堆出书 不为赚钱只为粉丝
- 常用的Windows命令提示符
- 关于java中JDBC读取字段属性原理
- 苹果7pnfc功能门禁卡_苹果NFC功能不再鸡肋?原来还能这么玩,内附门禁卡复制教程...
- 云效平台是做什么的?有哪些优缺点?
- EPICS IOC Shell
- QTableView添加复选框
- 记忆益智七巧板等小游戏接口
- 百度SEO站群Martfury主题英文版 WordPress响应式 商城主题
- 基于Dotnetty和Protobuf的Unity客户端开发(一)
- Mac cocoapods安装步骤