前言

说点啥吧,最近因为工作接触了机器视觉,抽出点时间研究一下OpenCV,本人是JAVA码农一枚,所以本篇的技术实现使用Java语言。

OpenCV的安装我已经整理了一篇,写的比较简单,后续会继续完善,欢迎大家评论指点OpenCV 安装和配置 - Mac OS 环境_会敲代码的小蜜蜂的博客-CSDN博客

代码示例参考了Java中使用opencv_我啥都会的博客-CSDN博客_java opencv

1、首先创建一个SpringBoot!

将OpenCV安装目录下的jar包与动态库文件拷贝到我们的项目中来

源文件目录(OpenCV安装后会自动生成,如果没有请参考安装篇)

/usr/local/opencv-4.6.0/build/bin/opencv-460.jar

/usr/local/opencv-4.6.0/build/lib/libopencv_java460.dylib

在pom中间中添加本地opencv的引用

<dependency><groupId>org.opencv</groupId><artifactId>opencv</artifactId><version>4.6.0</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/opencv/opencv-460.jar</systemPath>
</dependency>

2、测试代码

创建测试类DemoGrayscaleTests.java

package org.example.opencv;import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
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;@Slf4j
@RunWith(SpringRunner.class)
public class DemoGrayscaleTests {@Testpublic void testOpencv() throws Exception {// 解决awt报错问题System.setProperty("java.awt.headless", "false");log.info("java library path: {}", System.getProperty("java.library.path"));// 加载动态库URL url = ClassLoader.getSystemResource("lib/opencv/libopencv_java460.dylib");log.info("url path: {}", url.getPath());System.load(url.getPath());// 读取图像Mat image = imread("/Users/xiaomifeng/Pictures/face.jpeg");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("/Users/xiaomifeng/Pictures/hello.jpg", grayImage);waitKey();}
}

3、执行结果

这里找了个妹子照片测试了一下,完美~

代码连接

https://download.csdn.net/download/bluerebel/86724203

OpenCV for Java 整合Spring Boot写一个灰度测试Demo相关推荐

  1. 利用spring boot 写一个稳定的爬虫

    1.前言 这篇文章是利用spring boot 写一个稳定的爬虫,爬取的网页数据包含未执行js的网页数据.http/https接口的请求数据.和经过网页渲染的js数据(需要chorme浏览器),数据库 ...

  2. 如何用spring boot写一个注册页面

    环境准备: java集成开发环境:IDEA 数据库:Mysql Maven 最好在安装有个navicat(数据库可视化界面) 安装好上述几个软件后 总结下:五步 1.创建新的工程 2.创建建appli ...

  3. Spring boot 写一个接口

    1-首先,创建一个Spring boot 项目 2-配置环境,需要配置pom和application.yml (1)pom 里添加 lombok 因为之后可能会用到: <dependency&g ...

  4. spring cloud教程之使用spring boot创建一个应用

    <7天学会spring cloud>第一天,熟悉spring boot,并使用spring boot创建一个应用. Spring Boot是Spring团队推出的新框架,它所使用的核心技术 ...

  5. 使用React和Spring Boot构建一个简单的CRUD应用

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. Reac ...

  6. 精选10个用于Java开发Spring Boot的Eclipse插件

    前言 作为从事Java多年的程序员,在此分享用于 Java 和 Spring Boot 开发的 10 大 Eclipse插件: 1. EGit - Eclipse 的 Git 集成 这可能是当今 Ja ...

  7. 用Spring+Mybatis写一个数据库增删改查

    用Spring+Mybatis写一个数据库增删改查 总体结构 ClassBiz.java package com.gxj.biz;import java.util.List;import com.gx ...

  8. 用Spring+jdbc 写一个数据库增删改查

    用Spring+Jdbc写一个数据库增删改查 先展示项目结构 ClassBiz.java package com.gxj.biz;import java.util.List;import com.gx ...

  9. 真的简单,单手用Spring Boot 开发一个微信小程序

    前言   嗨,大家好,现在微信使用的用户很多,作为开发人员也可以建立一个自己的微信小程序,本期与大家分享一下作者建立微信小程序的开发流程. 申请   百度搜索微信公众号平台,然后扫码登录注册一个微信公 ...

最新文章

  1. 他本科来自普通二本,读博后3年迎来2篇Nature,创造校史!
  2. 函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化
  3. MySQL之三范式:原子性 唯一性 避免数据冗余
  4. 我们为什么要学习3D建模?
  5. 这可能是 Python 面向对象编程的最佳实践
  6. 「大学生学编程系列」第六篇:如何学习C语言?
  7. lock和synchronized的区别
  8. Linux中共享库(so)的几个名称及相关用法
  9. 05 库的简单操作
  10. [PHP] PHP源码中的条件编译定义
  11. 太强了,头发丝完整保留!华盛顿大学研究员开源的实时视频抠图工具
  12. 计算机英语听力,每日英语听力pc版
  13. 腾讯云接入备案流程 新手必看教程
  14. Flowable流程设计器的使用
  15. 雷军在联想演讲:全场无言,除了掌声
  16. 二层设备与三层设备的区别
  17. Visa for a coder
  18. 戴尔在哪看计算机的显卡,戴尔电脑显卡天梯图,2018dell电脑显卡天梯图新版
  19. Python对列表去重的多种方法(四种方法)
  20. 如何使用js添加html标签

热门文章

  1. centos7 网卡配置vlan_centos7 配置vlan trunk口
  2. 三角形网格 四方形网格_HTML5中3D对象的三角形网格
  3. Linux总结(一)
  4. 阿里云Centos服务器搭建mysql8.0.25
  5. 秋招腾讯字节跳动小米前端面经
  6. 密码保护:FFXI 新年庆典活动修复
  7. java面试题 英文_JAVA面试题和答案(英文版).pdf
  8. 基于Arduino Nano的多功能桌面感应垃圾桶
  9. 利用Tushare进行股票因子计算
  10. 使用mshta和csv注入配合获得主机权限