java swing 人脸签到系统 ----- 调用 opencv 多线程

简介: java swing 人脸签到系统 ----- 调用 opencv 多线程

java 源代码地址 code aliyun

https://code.aliyun.com/734449600/swingFaceCheckIn.git

软件功能展示


项目 设计的 技术问题总结

工作 进程 以及 渲染 进程 如何分离


人脸识别 sdk 的集成与调用

java 调用 opencv

特征比对

打包 exe 方法

java 多线程

java 调用 opencv 源代码 展示

调用代码

开始签到Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new Thread(() -> readImage()).start();
            }
        });

工作 代码

// 获取 图片的 io 工作进程
    public void readImage() {
        VideoLabel.setText("请等待打开摄像头");
        capture.open(0);
        openVideo = 0;
        // 设置帧率
        capture.set(Videoio.CAP_PROP_FPS, 30);
        boolean grab = capture.grab();
        if (!grab) {
            return;
        }
        int take_count = 0;
        while (true) {
            Mat capImg = new Mat();
            BufferedImage tempImage;
            if (openVideo == -1) {
                capture.release();
                break;
            }
            capture.read(capImg);
            tempImage = CvFunc.MatToBufferedImage(capImg);
            if (tempImage != null) {
                updateVideoLabel(new ImageIcon(tempImage));
                take_count += 1;
                if (take_count == 20) {
                    take_count = 0;
                    new Thread(() -> {
                        String[] res = studentInfo.compareImage(tempImage);
                        updateCompareRes(res);
                        studentInfo.Checkin(res[0]);
                        String spring_str = studentInfo.GetSpringStuStr();
                        String absent_str = studentInfo.GetAbsentStuStr();
                        updateStudentList(spring_str, absent_str);
                    }).start();
                }
            }
            try {
                sleep(50);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
// 页面渲染进程
    public void updateCompareRes(String[] s_list) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                compareRes.setText(s_list[0]);
                compareVal.setText(s_list[1]);
            }
        });
    }
// 页面渲染进程
    public void updateVideoLabel(ImageIcon imageIcon) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                VideoLabel.setText("");
                VideoLabel.setIcon(imageIcon);
            }
        });
    }
相关文章
|
5月前
|
设计模式 消息中间件 传感器
Java 设计模式之观察者模式:构建松耦合的事件响应系统
观察者模式是Java中常用的行为型设计模式,用于构建松耦合的事件响应系统。当一个对象状态改变时,所有依赖它的观察者将自动收到通知并更新。该模式通过抽象耦合实现发布-订阅机制,广泛应用于GUI事件处理、消息通知、数据监控等场景,具有良好的可扩展性和维护性。
467 8
|
5月前
|
移动开发 监控 小程序
java家政平台源码,家政上门清洁系统源码,数据多端互通,可直接搭建使用
一款基于Java+SpringBoot+Vue+UniApp开发的家政上门系统,支持小程序、APP、H5、公众号多端互通。涵盖用户端、技工端与管理后台,支持多城市、服务分类、在线预约、微信支付、抢单派单、技能认证、钱包提现等功能,源码开源,可直接部署使用。
407 24
|
5月前
|
安全 前端开发 Java
使用Java编写UDP协议的简易群聊系统
通过这个基础框架,你可以进一步增加更多的功能,例如用户认证、消息格式化、更复杂的客户端界面等,来丰富你的群聊系统。
244 11
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
Java与生成式AI:构建内容生成与创意辅助系统
生成式AI正在重塑内容创作、软件开发和创意设计的方式。本文深入探讨如何在Java生态中构建支持文本、图像、代码等多种生成任务的创意辅助系统。我们将完整展示集成大型生成模型(如GPT、Stable Diffusion)、处理生成任务队列、优化生成结果以及构建企业级生成式AI应用的全流程,为Java开发者提供构建下一代创意辅助系统的完整技术方案。
327 10
|
5月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
747 4
|
5月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
526 0
|
6月前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
6月前
|
安全 Cloud Native Java
Java 模块化系统(JPMS)技术详解与实践指南
本文档全面介绍 Java 平台模块系统(JPMS)的核心概念、架构设计和实践应用。作为 Java 9 引入的最重要特性之一,JPMS 为 Java 应用程序提供了强大的模块化支持,解决了长期存在的 JAR 地狱问题,并改善了应用的安全性和可维护性。本文将深入探讨模块声明、模块路径、访问控制、服务绑定等核心机制,帮助开发者构建更加健壮和可维护的 Java 应用。
533 0
|
6月前
|
NoSQL Java 关系型数据库
超全 Java 学习路线,帮你系统掌握编程的超详细 Java 学习路线
本文为超全Java学习路线,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架(如Spring Boot)、数据库(MySQL、Redis)及项目实战等内容,助力从零基础到企业级开发高手的进阶之路。
470 1
|
7月前
|
Java 数据库 前端开发
分享44个java系统,总有一款适合您
分享44个微信小程序,总有一款适合您
132 0