OpenCV
文章平均质量分 89
与开源神库OpenCV相关的一切内容
程序员Linc
编程,AI,开源AI硬件复刻
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenCV-python小玩意26 几行代码用InsightFace做人脸识别
可以看出,insightface的使用最为方便,在这个快节奏的时代,快就是一切。我想这就是它能够在AI视频处理中应用很广的原因吧。一转眼几个月过去,人脸识别的文章也就到此为止了。有什么需要讨论的,我们评论区见!原创 2026-03-03 09:05:57 · 678 阅读 · 0 评论 -
OpenCV-python小玩意25 人脸识别之-dlib实践
有了前面OpenCV旗下的人脸识别,很多场景是足够用了。技术人本着破除自己的信息茧房,还是多看看其他方案。所以就有了今天的dlib。dlib的优点是能够开箱即用、跨平台、简单易用。但是它也有一些缺点,比如速度较慢、模型不可微调等。尽管它在大规模或高性能场景下可能被TensorFlow/PyTorch生态取代,但在中小型项目、教学、快速原型开发中,dlib依然是人脸识别领域的“瑞士军刀”。有什么需要讨论的,我们评论区见!原创 2026-02-13 10:00:00 · 1141 阅读 · 0 评论 -
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 · 641 阅读 · 0 评论 -
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 · 1397 阅读 · 0 评论 -
OpenCV-python小玩意22 人脸检测cv2.CascadeClassifier加持下增强人脸识别能力
范式代表方法速度精度是否需 NMS是否端到端手工特征快低是否两阶段 CNN慢高是否(RPN+Head分离)单阶段 CNN快中~高是是DETR 及其变种中高否是通过实践可以发现,有了人脸检测的加持,识别的准确率提升了很多。至此,传统算法的人脸识别任务完成。下一期,让我们来搞搞深度学习的人脸识别!有什么问题,我们评论区见。OpenCV官方文档之Cascade Classifier#目标检测 #人脸检测 #HAAR。原创 2026-01-18 09:29:52 · 725 阅读 · 0 评论 -
OpenCV-python小玩意21 人脸识别与opencv-contrib介绍
opencv-contrib(全称 OpenCV Contrib)是OpenCV官方维护的一个扩展模块仓库,包含了大量非核心但功能强大、前沿或实验性的计算机视觉算法和工具。这些模块由于各种原因(如专利限制、依赖第三方库、尚不稳定、使用场景较窄等)没有被纳入OpenCV的主代码库,但对研究者和开发者仍具有重要价值。特征检测与描述子:包含等经典特征(早期 SURF/SIFT 因专利问题仅在 contrib 中提供)。它要比主库的features2d更加强大,提供了更多的特征检测和描述子。文本检测与识别。原创 2026-01-08 15:30:00 · 2110 阅读 · 1 评论 -
OpenCV-python小玩意20 仿射变换
本章节研究了仿射变换各种玩法,最重要的还是要融会贯通。组合变换时才能发挥它真正的实力。原创 2026-01-05 09:45:00 · 2034 阅读 · 0 评论 -
OpenCV-python小玩意19 YOLO导出的Onnx模型在Windows上的部署探讨
上面的python实现,C#中使用Microsoft.ML.OnnxRuntime和OpenCVSharp两个库可以很容易迁移过去。如有需要,可以一起探讨。至此,视觉上的常见方式方法咱们都聊了很多。后续再找话题!再会!获取完整源码,请关注后找我索取。原创 2025-12-25 10:00:00 · 1124 阅读 · 0 评论 -
OpenCV-python小玩意18 YOLO目标检测之模型训练与指标解读
看这个表格,我们可以优先看mAP@0.5,这样可以综合判断模型好坏。而结合Precision/Recall,能够明确模型是误检多还是漏检多。原创 2025-12-15 10:00:00 · 1636 阅读 · 0 评论 -
OpenCV-python小玩意17 YOLO目标检测之环境安装
文章的编写在2025年11月份,发布就到了12月份。接下来会完成目标识别模型的训练,用其导出onnx格式进行推理。对了,还有pycharm上的虚拟环境问题,总是选不到conda中的yolov8环境,导致包没有。原创 2025-12-06 08:52:34 · 665 阅读 · 0 评论 -
OpenCV-python小玩意16 霍夫变换检测圆形和直线
今天出一个新的需求,在图像中寻找圆圈,不同大小的圆圈, 并且里面有个十字。找到后标记出它的中心点。原创 2025-11-27 10:30:00 · 1130 阅读 · 0 评论 -
OpenCV-python小玩意15 3D视觉初探:深度图与点云以及距离测量
在《OpenCV-python小玩意9 相机标定》中我们知道,相机标定是计算机视觉的基础性工作,其核心意义在于建立二维图像像素与三维物理世界之间的精确数学关系。是的,3D视觉让机器能够感知物体的深度、形状和空间关系,从而像人类一样理解立体世界。可以这样类比一下:2D视觉 ≈ 看一张照片,只能知道物体的长和宽。3D视觉 ≈ 用手触摸一个物体,能感受到它的凹凸、远近和形状。这个例子来自实践,如有问题,我们评论区见。#3D视觉 #深度图 #点云 #计算机视觉 # 距离测量 #像素转毫米。原创 2025-11-20 10:30:00 · 1436 阅读 · 0 评论 -
OpenCV-python小玩意14 多模板多目标匹配
它是NumPy中一个非常强大的函数,用于基于条件筛选数组元素或返回满足条件的索引。condition: 布尔条件(可以是数组)。x: 当条件为True时返回的值(可选)。y: 当条件为False时返回的值(可选)。如果只传入condition,则返回满足条件的索引(坐标),记住返回的是索引,到时别蒙。(1) 返回满足条件的索引# 输出: (array([3, 4],)返回一个元组(即使是一维数组),其中包含满足arr > 3的元素的索引。多维数组示例。原创 2025-11-12 10:00:00 · 1191 阅读 · 0 评论 -
OpenCV-python小玩意13 模板匹配
本文介绍了使用OpenCV模板匹配技术定位图像中红色方块的实现方案。首先详细讲解了cv2.matchTemplate函数的核心参数、六种匹配方法及其特点,以及结果解析函数cv2.minMaxLoc的用法。然后通过基础示例展示了如何从同一张图片中裁剪模板并进行100%匹配定位,包括匹配框绘制、中心点计算和置信度显示等关键步骤。文章还提供了保持宽高比的窗口resize技巧,并简要讨论了模板匹配的两个主要局限性(多尺寸和旋转适配)。最后提出了多模板匹配的扩展方案,通过循环匹配多个模板获取更优结果,代码中实现了置信原创 2025-11-03 10:00:00 · 923 阅读 · 0 评论 -
OpenCV-python小玩意11 透视变换
本文介绍了计算机视觉中的透视变换技术,这是一种将图像从一个视角投影到另一个视角的基础方法。文章首先解释了透视变换的作用,如将倾斜拍摄的文档"扶正"成正面视图。然后详细说明了OpenCV中两个关键函数:cv2.getPerspectiveTransform用于计算3×3变换矩阵,cv2.warpPerspective用于执行实际变换。通过手动选择角点并计算变换矩阵的示例,展示了如何将倾斜文档转换为正视图。最后指出透视变换在文档、标牌等图像处理中的基础作用,为后续仿射变换等高级处理做准备。原创 2025-10-29 18:30:00 · 1107 阅读 · 0 评论 -
OpenCV-python小玩意12 颜色定位方案
本文介绍了使用OpenCV进行红色方块定位的方法。首先讲解了OpenCV中的颜色系统(BGR/RGB/HSV/HSL等),重点说明了HSV颜色空间在颜色检测中的优势。接着详细介绍了通过掩膜技术提取红色区域的方法,包括cv2.inRange和cv2.bitwise_or函数的使用。然后阐述了形态学操作(开闭运算)在特征提取中的应用,包括结构元素创建和形态学处理函数。最后提及了轮廓处理和中心点计算的方法。全文为AI硬件视觉处理中的颜色定位提供了完整的技术方案。原创 2025-10-23 16:38:52 · 1294 阅读 · 0 评论 -
OpenCV-python小玩意10 畸形矫正
本文介绍了相机畸变校正的实现方法,主要针对桶形畸变导致图像边缘物体像素值失真的问题。首先解释了径向畸变的两种类型(桶形畸变和枕形畸变)及其物理原理,接着详细说明了标定参数的保存方式(NumPy二进制或JSON格式)和加载方法。重点阐述了两种OpenCV矫正方法:使用undistort()函数直接矫正单目图像,以及initUndistortRectifyMap()+remap()组合矫正双目图像的方法流程,包括getOptimalNewCameraMatrix函数计算最优新相机矩阵。最后给出了整合到尺寸测量应原创 2025-10-10 14:00:00 · 668 阅读 · 0 评论 -
OpenCV-python小玩意9 相机标定
本文介绍了相机标定的基本概念和OpenCV实现方法。相机标定的核心目的是获取相机内参(焦距、畸变系数等)和外参(位置、方向),以建立图像像素与3D物理世界的精确数学关系。主要内容包括:1)准备工作,如使用9x6棋盘格采集25张不同角度的图像;2)标定步骤,使用cv2.findChessboardCorners检测角点、cv2.cornerSubPix进行亚像素级优化,最后通过cv2.calibrateCamera计算内参矩阵和畸变系数;3)关键函数详解,包括参数设置和返回值分析。该方法能有效消除镜头畸变,为原创 2025-09-22 09:04:48 · 1524 阅读 · 0 评论 -
OpenCV-python小玩意8 多个物体同时测量
本文介绍了如何扩展尺寸测量仪功能,实现多物体同时测量。主要解决三个问题:1) 通过设置面积阈值(MIN_AREA=1000,MAX_AREA=500000)过滤无效轮廓;2) 使用sorted()函数按面积降序排序轮廓,并选取前5个最大轮廓;3) 为不同物体分配不同颜色(COLORS数组)。代码实现了轮廓提取、面积过滤、尺寸计算和可视化标注功能,支持实时视频流处理。最终效果显示5个物体分别用不同颜色标记,并标注长宽尺寸。下一步计划探讨相机标定技术。原创 2025-09-12 13:32:25 · 620 阅读 · 0 评论 -
OpenCV-python小玩意7 轮廓长宽文本显示位置优化
本文介绍了使用OpenCV-python实现优化轮廓长宽文本显示位置的方法。通过计算矩形轮廓长短边的中心点,在边线旁水平显示长宽尺寸文本,并添加白色背景提高可读性。关键实现包括:1) 计算所有边长并识别最长最短边;2) 在边线中点位置绘制带背景的尺寸文本;3) 添加防抖动处理确保数值稳定。最终效果实现了在任意角度矩形框旁清晰显示尺寸信息,为后续多物体测量打下基础。该方案解决了文本定位和可视化问题,实现了直观的尺寸标注功能。原创 2025-09-05 09:03:38 · 426 阅读 · 0 评论 -
OpenCV-python小玩意6 计算轮廓长宽
本文介绍了使用OpenCV检测矩形目标轮廓并计算其长宽的方法。主要内容包括:1) 通过cv2.contourArea()找到最大轮廓;2) 使用cv2.minAreaRect()获取轮廓的最小外接旋转矩形;3) 从矩形信息中提取宽度和高度;4) 使用cv2.boxPoints()和cv2.drawContours()绘制旋转矩形。该方法适用于任意角度的矩形检测,通过计算矩形尺寸实现目标测量。原创 2025-08-29 09:00:00 · 1873 阅读 · 0 评论 -
OpenCV-python小玩意5 找轮廓
本文介绍了使用OpenCV检测并绘制图像轮廓的方法。主要内容包括:1)使用cv2.findContours()函数从二值图像中检测轮廓,详细解析了轮廓检索模式(mode)和轮廓近似方法(method)的参数选择;2)通过cv2.drawContours()函数绘制检测到的轮廓,说明了各参数的作用;3)给出了完整的代码示例,演示如何实时检测摄像头画面中的轮廓。文章还指出当前方法会检测所有轮廓,下节将介绍如何筛选特定轮廓(如纸张)并计算其长宽尺寸。该方法适用于目标检测和形状分析等应用场景。原创 2025-08-22 09:16:52 · 1285 阅读 · 0 评论 -
OpenCV-python小玩意4 预处理
本文介绍了图像预处理中的灰度化和二值化技术。灰度化通过加权平均将彩色图像转换为单通道灰度图,OpenCV中常用cv2.cvtColor()函数实现。二值化分为全局阈值和自适应阈值两种方法:全局阈值使用固定阈值分割图像,适用于对比度明显的场景;自适应阈值则根据局部区域动态计算阈值,能有效处理光照不均问题。文中通过具体代码示例展示了不同阈值化方法的效果对比,并指出中值滤波预处理对去噪的重要性。这些预处理步骤为后续特征提取(如轮廓检测)奠定了基础。原创 2025-08-15 11:14:16 · 1231 阅读 · 0 评论 -
OpenCV-python小玩意3 直线的像素距离
本文介绍了如何使用OpenCV实现摄像头交互式线段测量功能。通过鼠标点击两点绘制线段,并实时显示其像素距离。主要技术点包括:1) 使用cv2.putText()在图像上显示文本信息;2) 通过欧氏距离公式计算两点间距离;3) 实现预览线功能,在点击第一点后动态显示绿色指引线。代码支持测量多条线段,按'c'清除记录,'q'退出程序。该功能为后续图像测量应用奠定了基础,展示了OpenCV在交互式计算机视觉任务中的实用性。原创 2025-08-09 08:50:11 · 830 阅读 · 0 评论 -
OpenCV-python小玩意2 摄像头预览时画线以及line的用法
本文介绍了使用Python+OpenCV实现摄像头预览时通过鼠标点击画线的功能。核心方案包括:1)使用cv2.line()方法绘制线段,2)通过setMouseCallback()监听鼠标左键点击事件记录坐标点。实现代码在视频流中实时显示连线效果,并支持快捷键操作(q退出,c清屏)。文章详细讲解了OpenCV的鼠标事件处理机制和画线函数参数,为图像处理基础操作提供了实用示例。该方案适用于原型开发,可扩展为更复杂的交互式图像标注工具。原创 2025-08-01 18:30:00 · 1239 阅读 · 0 评论 -
OpenCV-python小玩意 摄像头打开及预览
本文介绍了使用OpenCV和Python开发简易网络摄像头测量仪的原型实现。首先讲解了OpenCV中的两个核心方法:VideoCapture类用于视频捕获(支持摄像头、视频文件和网络流),包含设备状态检查、帧捕获、参数设置等功能;waitKey方法用于处理键盘事件和帧刷新。文章提供了完整的示例代码,演示了如何打开USB摄像头、实时预览画面,并实现按ESC退出、按回车保存截图的功能。该原型为后续开发物体尺寸测量功能奠定了基础。原创 2025-07-25 20:15:06 · 1508 阅读 · 0 评论 -
重新认识OpenCV:C++视角下的历史演进、功能特性以及OpenCV 4.11新特性
多年来,我深入探索并见证了OpenCV的成长,心中始终充满钦佩与敬意。尽管商业机器视觉算法在某些领域表现出色,但OpenCV绝非逊色。每当有人以轻蔑的口吻谈论它时,我都忍不住想为其正名——它不仅是开源社区的瑰宝,更是无数开发者实现梦想的基石。无论从功能的丰富性、性能的优化,还是社区的活跃度来看,OpenCV都值得被尊重与推崇。原创 2025-03-12 15:00:00 · 2199 阅读 · 0 评论 -
用OpenCV写个视频播放器可还行?(C++版)
提到OpenCV,大家首先想到的可能是图像处理、目标检测,但你是否想过——用OpenCV实现一个带进度条、倍速播放、暂停功能的视频播放器?文末提供完整代码,可直接运行!原创 2025-03-09 18:30:00 · 1414 阅读 · 0 评论 -
十年老爷机大战OpenCV编译:Ubuntu源码编译OpenCV 4.11实战指南
经过这场编译马拉松,这台2015年出厂的老将成功跑起了最新的OpenCV 4.11。整个过程如同烹饪:新鲜的源码(食材)加上精准的火候(配置),最终呈现出完美的视觉盛宴。技术永不止步,老兵永远不死!🔥。原创 2025-03-09 12:23:25 · 883 阅读 · 0 评论
分享