前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java+opencv_opencv使用教程

java+opencv_opencv使用教程

作者头像
全栈程序员站长
发布2022-11-14 11:41:40
1.7K0
发布2022-11-14 11:41:40
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1e685c5fd3dd699094c6518d2db1f6db.png
1e685c5fd3dd699094c6518d2db1f6db.png

opencv 简介

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

opencv 安装

Windows

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

b040927b80a6f3a97ecd11db3b8828ea.png
b040927b80a6f3a97ecd11db3b8828ea.png

2.执行 opencv-4.4.0-vc14_vc15.exe

48a4f73d10b52266212b077207bc607b.png
48a4f73d10b52266212b077207bc607b.png
a8929b8d24640709a142c146c3f62cb5.png
a8929b8d24640709a142c146c3f62cb5.png
4983e7cce6d8d4766fbd918e9b7e8a8e.png
4983e7cce6d8d4766fbd918e9b7e8a8e.png

3.配置环境变量

8ea8767acdf38ff378c3e5873e37d490.png
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
f18012e6a046a119b3718ff1dafc96a6.png

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

0d74a922d5e153be47517d9984e5f245.png
0d74a922d5e153be47517d9984e5f245.png
7f020515ff89e7c7a86e2764d4b008cd.png
7f020515ff89e7c7a86e2764d4b008cd.png
57065bbabed8f39d5a99b3c831cb9778.png
57065bbabed8f39d5a99b3c831cb9778.png
7ba7f2dd5e3a78c2ecfe2cc1d45768e2.png
7ba7f2dd5e3a78c2ecfe2cc1d45768e2.png

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

8f75cf1ad850db47f929d2545d4ac43b.png
8f75cf1ad850db47f929d2545d4ac43b.png
7ba10d426fdb620e0ee0a55bbea792fb.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
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
de22aff4c2499ebedb72c5b8e6009ba0.png

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

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

参考

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月3日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档