Java中使用OpenCV生成灰度图

一、下载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
XML 复制代码
        <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.dll
        System.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新手小白,有大佬有什么资料希望可以在评论区分享分享呀~~~

相关推荐
想学习java初学者4 小时前
SpringBoot整合Vertx-Mqtt多租户(优化版)
java·spring boot·后端
AC赳赳老秦4 小时前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
weixin_449173654 小时前
在 Java 中,‌线程安全的 List‌ 主要有以下几种实现方式,它们的效率取决于具体的使用场景(尤其是读写比例):
java·线程安全的list
砚底藏山河4 小时前
股票数据API接口:如何获取股票历历史分时KDJ数据
java·python·maven
kay_5455 小时前
YOLO26改进| 特征融合 | 小波变换的多尺度特征融合
人工智能·目标检测·计算机视觉·目标跟踪·论文·yolo26·yolo26改进
MegaDataFlowers6 小时前
运行若依项目
java
lulu12165440786 小时前
JetBrains IDE 终极AI编程方案:CC GUI插件让Claude Code和Codex丝滑运行
java·ide·人工智能·python·ai编程
('-')6 小时前
八股复习2:Java Array list和Linked list
java·开发语言
逸Y 仙X7 小时前
Elasticsearch时间类型实战
java·大数据·elasticsearch·搜索引擎·全文检索
Gerardisite7 小时前
企微批量群发消息指南:用 QiWe 省掉人工操作
java·python·机器人·企业微信