零、前言

作为图像处理出身,不仅仅要会C++图像处理、matlab图像处理、python图像处理、最起码也得会java图像处理,当然我最终还都用的是opencv这个机器视觉库了。今天简单介绍一下java中如何使用opencv。

一、配置库

(1)官网下载opencv,在opencv\build\java\以及opencv\build\java\x64下提取jar包以及动态库。

(2)以springboot举例,在resources下创建lib/opencv文件夹,并将这两个包放进去。

(3) 在pom.xml添加依赖如下(或者其他方式添加依赖均可)

org

opencv

system

${project.basedir}\src\main\resources\lib\opencv\opencv-440.jar

注意版本要修改成你自己opencv的版本。

至此,配置完成。

二、其他知识

在java中调用dll:

// 加载动态库

URL url = ClassLoader.getSystemResource("lib/opencv/opencv_java440.dll");

System.load(url.getPath());

三、简单的例子

(1)创建一个springboot项目,在测试类中编写代码

读图像以及灰度化:

package testopencv.demo;

import org.junit.jupiter.api.Test;

import org.junit.runner.RunWith;

import org.opencv.core.CvType;

import org.opencv.core.Mat;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

import java.net.URL;

import static org.opencv.highgui.HighGui.imshow;

import static org.opencv.highgui.HighGui.waitKey;

import static org.opencv.imgcodecs.Imgcodecs.imread;

import static org.opencv.imgcodecs.Imgcodecs.imwrite;

import static org.opencv.imgproc.Imgproc.COLOR_RGB2GRAY;

import static org.opencv.imgproc.Imgproc.cvtColor;

@RunWith(SpringRunner.class)

@SpringBootTest

class DemoApplicationTests {

/**

* @return

* @Description

* @Param

* @Author zhangsan

* @Date 2020.09.05 9:43

**/

@Test

public void testOpencv() throws Exception {

// 解决awt报错问题

System.setProperty("java.awt.headless", "false");

System.out.println(System.getProperty("java.library.path"));

// 加载动态库

URL url = ClassLoader.getSystemResource("lib/opencv/opencv_java440.dll");

System.load(url.getPath());

// 读取图像

Mat image = imread("C:\\Users\\admin\\Pictures\\hello.jpg");

if (image.empty()) {

throw new Exception("image is empty");

}

imshow("Original Image", image);

// 创建输出单通道图像

Mat grayImage = new Mat(image.rows(), image.cols(), CvType.CV_8SC1);

// 进行图像色彩空间转换

cvtColor(image, grayImage, COLOR_RGB2GRAY);

imshow("Processed Image", grayImage);

imwrite("D://hello.jpg", grayImage);

waitKey();

}

}

效果:

四、结束

简单介绍了java使用opencv的方法,后续可能会基于springboot做一些web方面图像处理的功能,做人不能局限,技多不压身,只能显得更屌丝而已。我就是我,不一样的小马哥。

java xml opencv_Java中使用opencv相关推荐

  1. 【Exception】 javax.xml.bind.annotation.adapters 不可见 已在模块 java.xml.bind 中声明, 但该模块不在模块图中

    [Exception] javax.xml.bind.annotation.adapters 不可见 已在模块 java.xml.bind 中声明, 但该模块不在模块图中 一.问题描述 1.将项目中J ...

  2. Java在eclipse中调用opencv时报错:java.lang.UnsatisfiedLinkError的解决方法

    昨天把Java+opencv的环境配置好后,迫不及待的进行测试...... 出师不利.... 第一个代码就有错误,代码如下: import org.opencv.core.*; import org. ...

  3. 在Eclipse中使用OpenCV Java

    在Eclipse中使用OpenCV Java 在Eclipse中使用OpenCV Java 配置Eclipse 测试新Java项目上的配置 运行具有OpenCV和MKL依赖关系的Java代码 在Ecl ...

  4. java opencv 平移_Java中使用opencv

    Java中使用opencv Java中使用opencv 零.前言 作为图像处理出身,不仅仅要会C++图像处理.matlab图像处理.python图像处理.最起码也得会java图像处理,当然我最终还都用 ...

  5. java dom4j 去除空行_如何从XML文件中删除多余的空行?

    总之;我在XML文件中生成了很多空行,并且我正在寻找一种方法将它们作为一种倾斜文件的方式来删除它们.我怎样才能做到这一点 ?如何从XML文件中删除多余的空行? 有关详细说明,目前,我有这个XML文件: ...

  6. java opencv 开发环境_在IntelliJ IDEA 13中配置OpenCV的Java开发环境

    准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...

  7. java读取request中的xml

    java读取request中的xml 答: // 读取xml InputStream inputStream; StringBuffer sb = new StringBuffer(); inputS ...

  8. java配置opencv_在Windows中使用OpenCV Java与Eclipse

    自2.4.4版本以来,OpenCV支持Java.在本教程中,我将介绍如何设置在Windows中使用OpenCV Java与Eclipse的开发环境,以便您可以享受垃圾回收,非常可重构(重命名变量,提取 ...

  9. java html转换xml文件,使用Java在HTML中转换XML + XSL

    我们将数据作为XML使用,并且存在多种格式化XSL样式.在IE中它一直工作得很好.使用Java在HTML中转换XML + XSL 然后,我们需要在Chrome中显示与HTML相同的内容.所以,我们在服 ...

最新文章

  1. vagrant 介绍,安装与使用
  2. c语言中程序偏离,C语言中的指针加减偏移量
  3. LevelDb系列之简介
  4. Flask-SQLAlchemy安装及设置
  5. linux下的普通文件的属性,linux下文件目录和属性
  6. 安卓学习 之 概述(一)
  7. 企业内网利用devpi搭建pypi私服
  8. 初级算法-12.反转字符串
  9. 内网(局域网)中共享文件
  10. 【51nod 1331】狭窄的通道
  11. Mysql 8 驱动问题:报错Unknown system variable 'query_cache_size'
  12. H2 database 操作操作内存表
  13. 利用SmsManager发送短信
  14. 中国智能传感器投资规划建议及前景方向预测报告2022年版
  15. 七参数坐标转换的几种解法
  16. 系统集成项目管理工程师高频考点(第九章)
  17. IOTOS通采盒为BIM运维、GIS、CIM、数字孪生及IBMS高效率、低成本打通数据,接入楼宇园区子系统设备
  18. SSL数字证书认证的过程
  19. mysql 社区版 tokudb,TokuDB·社区八卦·TokuDB团队
  20. 2018年中国互联网企业百强榜单

热门文章

  1. 关于选择排序的优化——同时找出最小值与最大值
  2. 幼儿园计算机教师论文,幼儿园中班教师论文
  3. android 获取phone实例,Android ContentProvider获取手机联系人实例
  4. 彩票模拟选号程序java_java课程设计-彩票购买抽奖程序
  5. mysql唯一索引弊端_MySQL 关于唯一索引和普通索引的抉择
  6. 钉钉电脑版怎么创建共享文件 钉钉文件共享的方法
  7. win7如何关闭密码保护共享
  8. 修改el-popover和el-select样式
  9. 浏览器tab标签显示网站标志图标
  10. java访问同一个变量_java – 从另一个类访问变量