- 博客(1055)
- 资源 (24)
- 收藏
- 关注
原创 OpenCV-python小玩意26 几行代码用InsightFace做人脸识别
可以看出,insightface的使用最为方便,在这个快节奏的时代,快就是一切。我想这就是它能够在AI视频处理中应用很广的原因吧。一转眼几个月过去,人脸识别的文章也就到此为止了。有什么需要讨论的,我们评论区见!
2026-03-03 09:05:57
457
原创 小智esp32小玩意2:了解面包板与小智最基本AI对话电路连接
小智AI是一款基于ESP32-S3开发的开源智能语音机器人,集成语音唤醒、AI对话、设备控制和多协议通信功能。曾几何时,小智在AI硬件领域变的越来越流行,受到了广大电子爱好者的关注,如果你玩esp32,你没听过小智,一定会被嘲笑。有一种“平生不识陈近南,纵称英雄也枉然”的意思。功能模块技术实现备注语音唤醒ESP-SR离线唤醒支持自定义唤醒词语音识别流式ASR(FunASR/云端API)多语言支持语言理解Qwen/DeepSeek/ChatGLM等LLM可配置模型规模语音合成。
2026-02-24 20:48:36
610
原创 OpenCV-python小玩意25 人脸识别之-dlib实践
有了前面OpenCV旗下的人脸识别,很多场景是足够用了。技术人本着破除自己的信息茧房,还是多看看其他方案。所以就有了今天的dlib。dlib的优点是能够开箱即用、跨平台、简单易用。但是它也有一些缺点,比如速度较慢、模型不可微调等。尽管它在大规模或高性能场景下可能被TensorFlow/PyTorch生态取代,但在中小型项目、教学、快速原型开发中,dlib依然是人脸识别领域的“瑞士军刀”。有什么需要讨论的,我们评论区见!
2026-02-13 10:00:00
1001
原创 人工智能那些事:1 一文了解什么是AI以及Agent、RAG和多模态模型
在一个领域呆久了,可能连初心都忘记了。现在,请你先问一下自己,什么是人工智能?比较通俗的回答是:AI(Artificial Intelligence,人工智能)是指让机器模拟人类智能行为的技术和系统。这些“智能行为”包括:看(计算机视觉)、听(语音识别)、说(自然语言生成)、理解(语义理解)、学习(从数据中总结规律)、决策(下棋、自动驾驶)、创造(写诗、作画、作曲)等等。让机器能像人一样感知、思考、学习和创造。
2026-02-09 07:30:00
510
原创 OpenCV-python小玩意24 深度学习的人脸识别-ArcFace/SFace+YuNet实践
OpenCV 4.5.4版本在 opencv_contrib 模块中新增了基于深度学习的人脸分析功能(简称"OpenCV DNN Face"),其核心由两个中国团队主导开发:人脸检测模型 YuNet——由OpenCV中国团队研发;人脸识别模型 SFace——由北京邮电大学课题组设计。其中,cv2.FaceRecognizerSF 类作为SFace模型的接口,专为高效的人脸特征提取与相似度计算而设计,兼顾精度与性能。
2026-02-04 10:45:00
498
原创 小智esp32小玩意1:p3音频格式
P3格式是xiaozhi-esp32项目团队开发的一种专有二进制音频格式,它的全称是,就是要解决嵌入式设备在语音交互场景中的特殊需求。与传统音频格式相比,P3具有高度优化的结构设计和极简的解码流程,特别适合ESP32这类资源受限的物联网设备。
2026-01-30 10:30:00
595
原创 OpenCV-python小玩意23 深度学习的人脸检测-YuNet实践
YuNet是OpenCV团队于2022年提出的一种轻量级、高精度、实时人脸检测模型,专为边缘设备和嵌入式系统设计。它继承了YOLO的思想,但针对人脸检测任务进行了深度优化,同时输出人脸框 + 5个人脸关键点(landmarks),非常适合与ArcFace等需要对齐的人脸识别模型配合使用。而且更牛的是,模型非常小,face_detection_yunet_2023mar.onnx只有228KB大,int8模型只有99KB。这在嵌入式领域运行真是毫无压力。
2026-01-26 10:30:00
1091
原创 [手把手和你一起复刻MOSS]5 视觉系统与旋转控制-ONVIF协议,组装与成果展示
ONVIF(Open Network Video Interface Forum,开放式网络视频接口论坛)协议是一种全球性的开放行业标准,旨在实现不同厂商生产的网络视频设备(如IP摄像头、NVR、视频分析设备等)之间的互操作性与兼容性。有了ONVIF这个协议,通过定义统一的通信接口,使得来自不同品牌的设备能够无缝集成到同一个视频监控系统中。结束了之前不同厂商各自为政,让系统集成商累死的局面。对于开发者来说,只需要遵循ONVIF标准,即可对接任意兼容设备。真是太方便了!
2026-01-21 10:30:00
1812
1
原创 OpenCV-python小玩意22 人脸检测cv2.CascadeClassifier加持下增强人脸识别能力
范式代表方法速度精度是否需 NMS是否端到端手工特征快低是否两阶段 CNN慢高是否(RPN+Head分离)单阶段 CNN快中~高是是DETR 及其变种中高否是通过实践可以发现,有了人脸检测的加持,识别的准确率提升了很多。至此,传统算法的人脸识别任务完成。下一期,让我们来搞搞深度学习的人脸识别!有什么问题,我们评论区见。OpenCV官方文档之Cascade Classifier#目标检测 #人脸检测 #HAAR。
2026-01-18 09:29:52
597
原创 [手把手和你一起复刻MOSS]4 加入红外自学习模块遥控空调并聊聊红外技术
如图所示:黑色是接收器,白色是发射器。注意波特率是115200,这在通信中非常重要,源码中默认是9600,需要调整。这是第一个注意事项。
2026-01-13 12:00:00
968
原创 OpenCV-python小玩意21 人脸识别与opencv-contrib介绍
opencv-contrib(全称 OpenCV Contrib)是OpenCV官方维护的一个扩展模块仓库,包含了大量非核心但功能强大、前沿或实验性的计算机视觉算法和工具。这些模块由于各种原因(如专利限制、依赖第三方库、尚不稳定、使用场景较窄等)没有被纳入OpenCV的主代码库,但对研究者和开发者仍具有重要价值。特征检测与描述子:包含等经典特征(早期 SURF/SIFT 因专利问题仅在 contrib 中提供)。它要比主库的features2d更加强大,提供了更多的特征检测和描述子。文本检测与识别。
2026-01-08 15:30:00
1856
2
原创 2025年MCP协议发展及其在xiaozhi-esp32中的落地实践分析
是由开发者“虾哥”于2024年12月在GitHub上开源的AIoT项目,目标是打造一个低成本、可语音交互、能控制物理设备的边缘AI助手终端。到了今天,项目的描述被精炼概括为:一个基于MCP的聊天机器人|An MCP-based chatbot。作为语音交互入口,小智AI聊天机器人利用Qwen/DeepSeek等大型模型的AI功能,通过MCP协议实现多终端控制。基于 ESP-IDF 的嵌入式固件;配套的云端服务参考实现;详细的硬件接线与烧录教程;
2025-12-30 10:36:54
1415
原创 OpenCV-python小玩意19 YOLO导出的Onnx模型在Windows上的部署探讨
上面的python实现,C#中使用Microsoft.ML.OnnxRuntime和OpenCVSharp两个库可以很容易迁移过去。如有需要,可以一起探讨。至此,视觉上的常见方式方法咱们都聊了很多。后续再找话题!再会!获取完整源码,请关注后找我索取。
2025-12-25 10:00:00
1002
原创 明明已经是Gradle 8.6了,为啥依然报错requires Android Gradle plugin 8.6.0 or higher?
但项目实际使用的是 Android Gradle Plugin (AGP) 8.2.0,它是在 build.gradle(通常是项目根目录下的)中声明的,虽然配置了gradle-wrapper.properties中的gradle版本为8.6,Gradle 版本 ≠ Android Gradle Plugin (AGP) 版本。我去年(2024)刚下载的Android Studio有点老?那就继续升级到gradle8.8!还是在国内的网站下载吧!
2025-12-22 10:00:00
254
原创 [手把手和你一起复刻MOSS]3 MOSS的炫酷外设--MCP控制呼吸灯和流水灯和显示屏的接入
增加MOSS的科技感,呼吸灯和流水灯必须要搞起来,此外还要接一块显示屏。嗯,今天就做这些。
2025-12-20 10:00:00
400
原创 OpenCV-python小玩意18 YOLO目标检测之模型训练与指标解读
看这个表格,我们可以优先看mAP@0.5,这样可以综合判断模型好坏。而结合Precision/Recall,能够明确模型是误检多还是漏检多。
2025-12-15 10:00:00
1504
原创 [手把手和你一起复刻MOSS]2 MOSS的嘴巴和耳朵--数字功放、腔体喇叭和麦克风
本次任务只需要四个配件即可,核心的esp32-s3开发板,数字功放、腔体喇叭和麦克风。s3开发板在上文中有过介绍,下面主要介绍数字功放、腔体喇叭和麦克风。此时你已经得到了一个可以跟你聊天的MOSS,后面再加入显示屏和灯珠的控制。
2025-12-10 04:00:00
573
原创 OpenCV-python小玩意17 YOLO目标检测之环境安装
文章的编写在2025年11月份,发布就到了12月份。接下来会完成目标识别模型的训练,用其导出onnx格式进行推理。对了,还有pycharm上的虚拟环境问题,总是选不到conda中的yolov8环境,导致包没有。
2025-12-06 08:52:34
573
原创 [手把手和你一起复刻MOSS]1 MOSS复刻的前期准备和介绍
ESP32是乐鑫信息科技(Espressif Systems)推出的高性能Wi-Fi + 蓝牙双模无线通信微控制器,主打低功耗、高集成度和强大的计算能力,广泛应用于物联网(IoT)、智能家居、可穿戴设备、工业控制等场景。顺便说一句,乐鑫在科创板上市,有小米集团的投资。esp32开发最常见的官方SDK是ESP-IDF(基于 FreeRTOS),它支持C/C++、MicroPython、Arduino等开发框架,生态成熟,文档丰富。
2025-12-01 20:00:00
1766
原创 OpenCV-python小玩意16 霍夫变换检测圆形和直线
今天出一个新的需求,在图像中寻找圆圈,不同大小的圆圈, 并且里面有个十字。找到后标记出它的中心点。
2025-11-27 10:30:00
811
原创 OpenCV-python小玩意15 3D视觉初探:深度图与点云以及距离测量
在《OpenCV-python小玩意9 相机标定》中我们知道,相机标定是计算机视觉的基础性工作,其核心意义在于建立二维图像像素与三维物理世界之间的精确数学关系。是的,3D视觉让机器能够感知物体的深度、形状和空间关系,从而像人类一样理解立体世界。可以这样类比一下:2D视觉 ≈ 看一张照片,只能知道物体的长和宽。3D视觉 ≈ 用手触摸一个物体,能感受到它的凹凸、远近和形状。这个例子来自实践,如有问题,我们评论区见。#3D视觉 #深度图 #点云 #计算机视觉 # 距离测量 #像素转毫米。
2025-11-20 10:30:00
1273
原创 OpenCV-python小玩意14 多模板多目标匹配
它是NumPy中一个非常强大的函数,用于基于条件筛选数组元素或返回满足条件的索引。condition: 布尔条件(可以是数组)。x: 当条件为True时返回的值(可选)。y: 当条件为False时返回的值(可选)。如果只传入condition,则返回满足条件的索引(坐标),记住返回的是索引,到时别蒙。(1) 返回满足条件的索引# 输出: (array([3, 4],)返回一个元组(即使是一维数组),其中包含满足arr > 3的元素的索引。多维数组示例。
2025-11-12 10:00:00
1092
原创 从小鹏机器人想到的--AI迅猛发展对普通人意味着什么?
在不久的将来,你的一天会是这样的:清晨,智能家居系统根据你的睡眠周期和当日日程,以最合适(我是说不是那么枯燥的铃铃铃)的方式和时间叫醒你;AI能学习你的习惯、预测你的需求,它让生活更便捷,它也更懂你。AI技术的迅猛发展,有些超过我的预料,再过几年,科幻电影中的内容都会成真,而我的心情却变得非常复杂,又对技术进步的开心、憧憬,还有对未来深深的迷茫和恐惧。"或许,我们需要的既非盲目恐惧也非天真乐观,而是清醒认识到:AI将放大人类社会的所有可能性——既有我们的贪婪与不平等,也有我们的创造力与同理心。
2025-11-08 21:45:25
1260
原创 OpenCV-python小玩意13 模板匹配
本文介绍了使用OpenCV模板匹配技术定位图像中红色方块的实现方案。首先详细讲解了cv2.matchTemplate函数的核心参数、六种匹配方法及其特点,以及结果解析函数cv2.minMaxLoc的用法。然后通过基础示例展示了如何从同一张图片中裁剪模板并进行100%匹配定位,包括匹配框绘制、中心点计算和置信度显示等关键步骤。文章还提供了保持宽高比的窗口resize技巧,并简要讨论了模板匹配的两个主要局限性(多尺寸和旋转适配)。最后提出了多模板匹配的扩展方案,通过循环匹配多个模板获取更优结果,代码中实现了置信
2025-11-03 10:00:00
852
原创 OpenCV-python小玩意11 透视变换
本文介绍了计算机视觉中的透视变换技术,这是一种将图像从一个视角投影到另一个视角的基础方法。文章首先解释了透视变换的作用,如将倾斜拍摄的文档"扶正"成正面视图。然后详细说明了OpenCV中两个关键函数:cv2.getPerspectiveTransform用于计算3×3变换矩阵,cv2.warpPerspective用于执行实际变换。通过手动选择角点并计算变换矩阵的示例,展示了如何将倾斜文档转换为正视图。最后指出透视变换在文档、标牌等图像处理中的基础作用,为后续仿射变换等高级处理做准备。
2025-10-29 18:30:00
992
原创 OpenCV-python小玩意12 颜色定位方案
本文介绍了使用OpenCV进行红色方块定位的方法。首先讲解了OpenCV中的颜色系统(BGR/RGB/HSV/HSL等),重点说明了HSV颜色空间在颜色检测中的优势。接着详细介绍了通过掩膜技术提取红色区域的方法,包括cv2.inRange和cv2.bitwise_or函数的使用。然后阐述了形态学操作(开闭运算)在特征提取中的应用,包括结构元素创建和形态学处理函数。最后提及了轮廓处理和中心点计算的方法。全文为AI硬件视觉处理中的颜色定位提供了完整的技术方案。
2025-10-23 16:38:52
1144
原创 OpenCV-python小玩意10 畸形矫正
本文介绍了相机畸变校正的实现方法,主要针对桶形畸变导致图像边缘物体像素值失真的问题。首先解释了径向畸变的两种类型(桶形畸变和枕形畸变)及其物理原理,接着详细说明了标定参数的保存方式(NumPy二进制或JSON格式)和加载方法。重点阐述了两种OpenCV矫正方法:使用undistort()函数直接矫正单目图像,以及initUndistortRectifyMap()+remap()组合矫正双目图像的方法流程,包括getOptimalNewCameraMatrix函数计算最优新相机矩阵。最后给出了整合到尺寸测量应
2025-10-10 14:00:00
575
原创 不想花钱?让喵伴使用小智方案
本文介绍了如何通过小智方案免费为喵伴设备烧写固件。首先使用ESP Launchpad快速验证和烧写固件,然后通过WiFi配网将设备连接到网络。接着在小智后台注册账号、添加设备并进行个性化配置。文章还详细说明了如何从GitHub克隆开源代码、配置编译目标、使用menuconfig设置参数,以及完成编译和烧写的过程。最后展示了成功烧录后的效果视频,为开发者提供了完整的操作指南。
2025-09-28 16:47:24
1157
原创 为什么说现在是AI对话硬件最好的时代
在沈阳浑南的一个居民楼里,两个工程师正在测试一款即将上市的AI对话玩偶。当玩偶用带着些许调皮的语气回应"你昨天为什么忘记给我充电?"时,在场的人都露出了会心的微笑。这个看似简单的场景,却凝聚了过去五年AI对话硬件领域的所有技术突破。时间回到2023年初,同样的对话需要5秒以上的延迟,机械的电子音让人瞬间出戏,而现在,这一切都发生了质的改变。
2025-09-26 12:30:00
1075
原创 OpenCV-python小玩意9 相机标定
本文介绍了相机标定的基本概念和OpenCV实现方法。相机标定的核心目的是获取相机内参(焦距、畸变系数等)和外参(位置、方向),以建立图像像素与3D物理世界的精确数学关系。主要内容包括:1)准备工作,如使用9x6棋盘格采集25张不同角度的图像;2)标定步骤,使用cv2.findChessboardCorners检测角点、cv2.cornerSubPix进行亚像素级优化,最后通过cv2.calibrateCamera计算内参矩阵和畸变系数;3)关键函数详解,包括参数设置和返回值分析。该方法能有效消除镜头畸变,为
2025-09-22 09:04:48
1213
原创 创业之前先三思--我的机器视觉创业失败之路
机器视觉创业经验总结 笔者回顾了一年多的机器视觉创业历程,分享了三个失败项目的经验教训。从条形码检测到药瓶瑕疵检测,团队在技术实现和商业落地方面都遇到了严峻挑战。文章揭示了技术创业的残酷现实:优质工具的高成本、成熟市场的价格竞争、技术可行与商业可行的鸿沟。核心启示包括:不能只关注技术、选择赛道比努力更重要、必须建立核心竞争力、深入理解客户真实需求。最终建议创业者保持清醒认识,"如果能打工,还是去打工吧"的结论反映了创业的艰难本质。
2025-09-16 12:33:29
1798
原创 OpenCV-python小玩意8 多个物体同时测量
本文介绍了如何扩展尺寸测量仪功能,实现多物体同时测量。主要解决三个问题:1) 通过设置面积阈值(MIN_AREA=1000,MAX_AREA=500000)过滤无效轮廓;2) 使用sorted()函数按面积降序排序轮廓,并选取前5个最大轮廓;3) 为不同物体分配不同颜色(COLORS数组)。代码实现了轮廓提取、面积过滤、尺寸计算和可视化标注功能,支持实时视频流处理。最终效果显示5个物体分别用不同颜色标记,并标注长宽尺寸。下一步计划探讨相机标定技术。
2025-09-12 13:32:25
597
原创 OpenCV-python小玩意7 轮廓长宽文本显示位置优化
本文介绍了使用OpenCV-python实现优化轮廓长宽文本显示位置的方法。通过计算矩形轮廓长短边的中心点,在边线旁水平显示长宽尺寸文本,并添加白色背景提高可读性。关键实现包括:1) 计算所有边长并识别最长最短边;2) 在边线中点位置绘制带背景的尺寸文本;3) 添加防抖动处理确保数值稳定。最终效果实现了在任意角度矩形框旁清晰显示尺寸信息,为后续多物体测量打下基础。该方案解决了文本定位和可视化问题,实现了直观的尺寸标注功能。
2025-09-05 09:03:38
397
原创 OpenCV-python小玩意6 计算轮廓长宽
本文介绍了使用OpenCV检测矩形目标轮廓并计算其长宽的方法。主要内容包括:1) 通过cv2.contourArea()找到最大轮廓;2) 使用cv2.minAreaRect()获取轮廓的最小外接旋转矩形;3) 从矩形信息中提取宽度和高度;4) 使用cv2.boxPoints()和cv2.drawContours()绘制旋转矩形。该方法适用于任意角度的矩形检测,通过计算矩形尺寸实现目标测量。
2025-08-29 09:00:00
1798
原创 OpenCV-python小玩意5 找轮廓
本文介绍了使用OpenCV检测并绘制图像轮廓的方法。主要内容包括:1)使用cv2.findContours()函数从二值图像中检测轮廓,详细解析了轮廓检索模式(mode)和轮廓近似方法(method)的参数选择;2)通过cv2.drawContours()函数绘制检测到的轮廓,说明了各参数的作用;3)给出了完整的代码示例,演示如何实时检测摄像头画面中的轮廓。文章还指出当前方法会检测所有轮廓,下节将介绍如何筛选特定轮廓(如纸张)并计算其长宽尺寸。该方法适用于目标检测和形状分析等应用场景。
2025-08-22 09:16:52
1225
原创 OpenCV-python小玩意4 预处理
本文介绍了图像预处理中的灰度化和二值化技术。灰度化通过加权平均将彩色图像转换为单通道灰度图,OpenCV中常用cv2.cvtColor()函数实现。二值化分为全局阈值和自适应阈值两种方法:全局阈值使用固定阈值分割图像,适用于对比度明显的场景;自适应阈值则根据局部区域动态计算阈值,能有效处理光照不均问题。文中通过具体代码示例展示了不同阈值化方法的效果对比,并指出中值滤波预处理对去噪的重要性。这些预处理步骤为后续特征提取(如轮廓检测)奠定了基础。
2025-08-15 11:14:16
1169
原创 OpenCV-python小玩意3 直线的像素距离
本文介绍了如何使用OpenCV实现摄像头交互式线段测量功能。通过鼠标点击两点绘制线段,并实时显示其像素距离。主要技术点包括:1) 使用cv2.putText()在图像上显示文本信息;2) 通过欧氏距离公式计算两点间距离;3) 实现预览线功能,在点击第一点后动态显示绿色指引线。代码支持测量多条线段,按'c'清除记录,'q'退出程序。该功能为后续图像测量应用奠定了基础,展示了OpenCV在交互式计算机视觉任务中的实用性。
2025-08-09 08:50:11
782
原创 OpenCV-python小玩意2 摄像头预览时画线以及line的用法
本文介绍了使用Python+OpenCV实现摄像头预览时通过鼠标点击画线的功能。核心方案包括:1)使用cv2.line()方法绘制线段,2)通过setMouseCallback()监听鼠标左键点击事件记录坐标点。实现代码在视频流中实时显示连线效果,并支持快捷键操作(q退出,c清屏)。文章详细讲解了OpenCV的鼠标事件处理机制和画线函数参数,为图像处理基础操作提供了实用示例。该方案适用于原型开发,可扩展为更复杂的交互式图像标注工具。
2025-08-01 18:30:00
1190
原创 OpenCV-python小玩意 摄像头打开及预览
本文介绍了使用OpenCV和Python开发简易网络摄像头测量仪的原型实现。首先讲解了OpenCV中的两个核心方法:VideoCapture类用于视频捕获(支持摄像头、视频文件和网络流),包含设备状态检查、帧捕获、参数设置等功能;waitKey方法用于处理键盘事件和帧刷新。文章提供了完整的示例代码,演示了如何打开USB摄像头、实时预览画面,并实现按ESC退出、按回车保存截图的功能。该原型为后续开发物体尺寸测量功能奠定了基础。
2025-07-25 20:15:06
1387
基于Modbus TCP协议的PLC上位机程序源码(C#实现,含详细注释)
2025-10-09
瑞芯微RKNN安卓NPU部署实战:PPOCRv4 OCR推理Demo
2025-04-21
基于RK3588边缘计算的安卓端NPU加速YOLOv5推理实践:入门Demo实现
2025-04-13
AI easyOCR的中文、英文和检测模型
2025-03-29
Android 相机开发入门指南:CameraX 与 Camera2 的终极对比与实践源码
2025-03-13
VC++玩转炫酷悬浮窗2---不规则窗体的实现源码
2014-08-22
WM StopWatch 源码
2011-10-09
Activity传递类对象源码
2011-12-17
VC++ CALLBACK
2014-06-07
Android Read Excel sourcecode
2013-11-27
VC++玩转炫酷悬浮窗3源码
2014-09-05
VC++玩转炫酷悬浮窗1---悬浮窗的实现
2014-08-21
script.module.keyboard.chinese-2.0.0
2014-12-24
开机自启动VC实现
2014-05-21
HowToPreferenceActivity
2014-03-06
StopWatch源码
2011-10-09
GDI+不规则窗口
2014-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅