Java中使用OpenCV生成灰度图

embedded/2024/12/22 12:39:13/

一、下载OpenCV、

下载链接:Releases - OpenCV

下载到指定目录后双击即可安装(正常下载过程)。

二、查看文件目录

1、找到opencv-4100.jar

找到opencv-4100.jar,这个是我们需要加载的包。

opencv-460.jar是给java操作openvc的程序包
2、找到opencv_java4100.dll

二、Java实现生成灰度图demo

1、建一个maven项目
2、在resources中加入配置

添加依赖进项目中

3、配置maven
        <dependency><groupId>com.opencv</groupId><artifactId>opencv</artifactId><version>4100</version><scope>system</scope><systemPath>${basedir}/src/main/resources/lib/opencv/opencv-4100.jar</systemPath></dependency>

我的配置如下图:

4、编写代码生成灰度图
java">public class test_ikun {public static void main(String[] args) {//加载 opencv_javaXX.dllSystem.loadLibrary(Core.NATIVE_LIBRARY_NAME);//测试图片地址String imgPath = "./src/main/java/com/bluefoxyu/images/ikun.jpg";//读取图片Mat img = Imgcodecs.imread(imgPath);//生成灰度图Mat gray = new Mat();Imgproc.cvtColor(img,gray, Imgproc.COLOR_BGR2GRAY);//保存图片Imgcodecs.imwrite("./src/main/java/com/bluefoxyu/results/images/result.png", gray);}}
5、出现报错

不出意外的话会出现下面的报错,这个报错我也解决了很久。

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java4100 in java.library.path

报错的大概意思就是opencv_java4100没有在jdk中。

6、解决问题

opencv_java4100.dll 复制到自己下载的jdk的bin目录中

7、生成灰度图

运行demo,成功生成灰度图

 效果如下:

还有一种方式可以将opencv导入项目中不会报错,感兴趣可以参考这个博主的博客:在Java中使用OpenCV_java使用opencv-CSDN博客

opencv新手小白,有大佬有什么资料希望可以在评论区分享分享呀~~~


http://www.ppmy.cn/embedded/93245.html

相关文章

疯狂工牌,打工人最好的“时尚单品”!

打工人哪有不疯的? 最近网络上兴起了一股用姓氏爆改发疯工牌的热潮&#xff0c; 那些看似普通的工作证脑洞大开&#xff0c; 让人忍俊不禁。 就是说这样的时尚“身份”单品&#xff0c; 我们的“聚铭特工团"也得有&#xff0c;安排安排~ 下面就和小编一起&#xff0…

nginx优化日志拒绝特定404请求写入

需求描述 生产环境日志查看到大量的404请求写入。 日志分析 通过日志分析得到结论是 查看日志内存 "agent": "SLBHealthCheck",疑似是alb的健康检查 "0.012","request_GlobalId": "","response_GlobalId": &…

使用 Gunicorn 部署 Flask 项目

使用 Gunicorn 部署 Flask 项目 1. 简介 Flask 自带的 web 服务器仅适用于开发环境&#xff0c;无法满足生产环境的性能需求。在使用 app.run(host0.0.0.0, port5000) 启动时&#xff0c;Flask 会发出警告&#xff1a;WARNING: This is a development server. Do not use it …

每天一个数据分析题(四百七十二)- 业务角度

从业务角度区分&#xff0c;标签可以分为哪两类&#xff1f; A. 分群标签 B. 分层标签 C. 偏好标签 D. 行为标签 数据分析认证考试介绍&#xff1a;点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖Python&#xff0c;SQL&#xff0c;…

vue 附件上传el-upload

废话不多说&#xff0c;直接上代码 <el-upload multiple action"#" list-type"picture-card" :on-preview"handlePictureCardPreview" :on-remove"handleRemove" :on-change"handleChange":on-exceed"(fileList)&g…

WPF使用Iconfont字符串的操作方法

1.下载字体库文件 https://www.bootcss.com/p/font-awesome/ 2.放入Fonts文件夹下 3.文件属性修改为 资源 3.引入 FontFamily字体类型 <Setter Property"FontFamily" Value"../../CommonInMy/Fonts/#iconfont"/>注意这里的地址请填写绝对地址&…

vim编辑器的使用【vim常用指令介绍】

1.1 vim 简介 vim 编辑器最初是 vi 编辑器&#xff0c;vi 编辑器是 Unix 系统最初的编辑器。允许查看文件内容和在文件中移动、插入、编辑和替换文本。后来开发人员对它做了一些改进。并重命名为 vim。 1.2 学习 vim 的理由 因为几乎任何一个发行版都有 vi/vim 编辑器&#xf…

MySQL5.7之数据库初始化过程

文章目录 参考在执行这条命令后mysqld做了什么&#xff1f; 参考 本文章参考 https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.htmlMySQL5.7源码安装 当通过tar包或者源码包安装完MySQL之后&#xff0c;需要执行数据目录初始化操作 ## 如果不指定--…