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