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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 必知必会 RabbitMQ面试题 33道(附答案)「建议收藏」

    必知必会 RabbitMQ面试题 33道(附答案)「建议收藏」点击关注公众号,回复000获取优质资料前言大家好,我是老田。今天我们来分享RabbitMQ消息队列。其中,MQ(MessageQueue)翻译过来就是消息队列的意思。RabbitMQ…

    2022年6月15日
    32
  • COleVariant和VARIANT转换为CString类型

    COleVariant和VARIANT转换为CString类型COleVariant是数据库常用到的数据类型。它可以是字串,整型值,日期等。知道怎样将它转换为CString很有用处。        设有CString A; COleVariant B; 来看看怎样将COleVariant转换为CString:        switch(B.vt){            case VT_BSTR:  A=B.bstrVal; bre

    2022年7月18日
    17
  • vdbench 参数详解[通俗易懂]

    vdbench 参数详解[通俗易懂]HD:主机定义如果您希望展示当前主机,则设置hd=localhost。如果希望指定一个远程主机,hd=label。system=IP地址或网络名称。clients=用于模拟服务器的正在运行的客户端数量。SD:存储定义sd=标识存储的名称。host=存储所在的主机的ID。lun=原始磁盘、磁带或文件系统的名称

    2022年5月12日
    448
  • No mapping found for HTTP request with URI [xxxx] in DispatcherServlet with name ‘xxx’「建议收藏」

    No mapping found for HTTP request with URI [xxxx] in DispatcherServlet with name ‘xxx’「建议收藏」搭建SSM环境时测试springMVC时出现个很有趣的问题: 测试webapp下的index.jsp没问题,但是测试hello就出现问题。当访问hello时出现如下问题:解决方案:         之前扫描包时这样:           <context:component-scan base-package="com.itshenjin.controller.*…

    2022年6月13日
    31
  • qq怎么给好友添加标签_php验证QQ是否加入QQ群

    qq怎么给好友添加标签_php验证QQ是否加入QQ群代码:publicfunctionactionIndex(){ob_start();//ob_flush();echo”<scriptsrc=\”http://libs.baidu.com/jquery/2.0.0/jquery.min.js\”></script>”;$…

    2025年6月26日
    4
  • Java编程基础(1)

    Java编程基础(1)经常遇到规范问题,搞的总是在网页上查找,这里总计一下:1、命名规范问题:(1)类名:首字母要大写(2)方法名:首字母要小写,如果是多个单词,第二个单词首字母可以大写,比如setPeople(3)变量:一般变量都是小写(4)常量:一般全部要大写…

    2022年7月8日
    28

发表回复

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

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