首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

零学习OpenCV 4】图像矩计算与应用

点击上方“小白学视觉”,选择“星标”公众号 重磅干货,第一时间送达 经过几个月努力,小白终于完成了市面上第一本OpenCV 4入门书籍《零学习OpenCV 4》。...为了更让小伙伴更早了解最新版OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。...OpenCV 4提供了计算图像矩moments()函数,该函数函数原型在代码清单7-28中给出。...OpenCV 4提供了利用Hu矩进行轮廓匹配matchShapes()函数,该函数函数原型在代码清单7-32中给出。...函数第三个参数是两个轮廓Hu矩匹配计算方法标志,可以选择参数和每种方法相似性计算公式在表7-6给出。函数最后一个参数在目前OpenCV 4版本中没有意义,可以将参数设置为0。

1.4K30

单目全向立体相机标定(一种新相机形式)

上下图像垂直视场来自−50度+10度以及分别为-20度+10度。...图4图2中显示传感器图像计算图像。(中上部和中上部)使用我们新光学模型以圆柱体投影上视图和下视图图像。(中下部)根据上面两幅图像计算视差图像。近和远对象分别以红色和蓝色显示。...(下)根据使用先前模型校准上视图和下视图图像计算视差图像 我们以与OpenCV(开源计算机视觉)库中实现omnidir::calibrate函数相同方式对参数进行优化,这里使用圆形网格板,其性能优于棋盘...圆柱形投影结果如图4上部两个面板所示,使用OpenCV库中实现cv::stereoBM函数计算视差图像,如图4中下部面板所示。...另一方面,使用我们光学模型,上视图和下视图图像均方根分别从1.67像素提高0.28像素,1.12像素提高0.26像素。对于上视图和下视图图像,这分别是改进6.0倍和4.3倍。4.2.

64610
您找到你想要的搜索结果了吗?
是的
没有找到

低分辨率和畸变严重棋盘格角点自动检测

主要贡献 本文主要贡献是提出了一种新启发式算法来检测模糊和高度失真图像中棋盘格,特别是通过这种启发式方法,标准棋盘格检测算法检测率20%提高80%,使用高质量摄像机几乎达到100%。...5) 四边形连接:根据以下启发式算法连接四边形: •对于每个找到四边形每个角点,计算这个点到其他四边形每个角点距离,并存储此类最小距离以及相应角点和四边形ID。...•对于每个发现四边形每个角点,计算到每个其他四边形每个角点距离,并检查该距离是否小于该四边形最短边长,如果为真,则接受这两个角作为候选相邻对。...但是对于低分辨率图像,腐蚀对四边形整体大小有很大影响,这可能导致最小边缘长度急剧减少,因此,对距离测量进行了调整,以减小腐蚀影响: D.多次腐蚀时四边形连接 由于全景相机反射镜头,模糊会在径向上不均匀地扩散...降低偏差阈值会导致识别数量大大减少四边形,同时,还减少了误报检测,因此,我们决定在算法第一部分将轮廓近似限制在保守水平(即选择一个低偏差阈值),实际上以找到对象数量为代价保证提取正确四边形。

1.5K50

Python+OpenCV实现增强现实(第1部分)

最简单方法是取第一个组中每个特征描述符,计算第二组中所有描述符距离,并返回最接近一个作为最佳匹配 (在这里我要指出,选择一种与使用描述符相匹配距离测量方法很重要。...因为我们描述符是二进制字符串,所以我们将使用明汉距离)。这是一种暴力方法,而且存在更先进方法。 例如,我们将使用,我们可以检查,前面解释过匹配第二组向第一组方向来计算匹配时也是最好匹配。...一旦两个方向匹配完成,我们只接受满足先前条件有效匹配。图4显示了使用该方法找到15个最佳匹配项。 减少误报数量另一种选择是检查到第二个最佳匹配距离是否低于某一阈值。...如果我们假设可以计算为针孔照相机(公式推导作为练习留给读者),则点p在相机坐标系统中表示为u,v坐标(图像平面中坐标): ? 图7: 成像假定为针孔成像模型。来源: F. Moreno。...在焦距是针孔图像平面的距离情况下,光学中心投影是光学中心在图像平面的位置,k是缩放因子。前面的方程告诉我们图像是如何形成

2.2K90

深度相机-介绍

,英特尔RealSense SR300 2、 飞行时间法ToF 介绍 光雷达系统,可从发射极向对象发射光脉冲,接收器则可通过计算光脉冲发射器对象,再以像素格式返回到接收器运行时间来确定被测量对象距离...通过三角定位原理以视差方式来计算被测物距离。...,匹配左右摄像机间视场中相同特征,计算匹配特征在左右图像上列坐标的差值,输出视差图,将视差图通过三角测量方法转换成距离,输出深度图。...二、深度相机参数 1、技术参数 视场角 密度 分辨率(Resolution):视场角和密度乘积 距离精确度(Depth accuracy): 距离精确度能够反映测量距离和实际距离偏差 (要与分辨率区分...双目视觉三维重建,相机标定如果用matlab标定的话校正后图像是行对准,而直接用opencv校正的话图像都不能行对准,后面匹配用是SGBM算法,生成深度图 立体校正是为了使得左右相机图像坐标系行对准

1.3K10

Python+OpenCV实现增强现实(第1部分)

使用OpenCV,通过ORB探测器提取特征及其描述符很容易: 特征匹配 一旦我们找到了对象和场景特征,就要找到对象计算描述符,是时候寻找它们之间匹配了。...最简单方法是取第一个组中每个特征描述符,计算第二组中所有描述符距离,并返回最接近一个作为最佳匹配 (在这里我要指出,选择一种与使用描述符相匹配距离测量方法很重要。...因为我们描述符是二进制字符串,所以我们将使用明汉距离)。这是一种暴力方法,而且存在更先进方法。 例如,我们将使用,我们可以检查,前面解释过匹配第二组向第一组方向来计算匹配时也是最好匹配。...一旦两个方向匹配完成,我们只接受满足先前条件有效匹配。图4显示了使用该方法找到15个最佳匹配项。 减少误报数量另一种选择是检查到第二个最佳匹配距离是否低于某一阈值。...在焦距是针孔图像平面的距离情况下,光学中心投影是光学中心在图像平面的位置,k是缩放因子。前面的方程告诉我们图像是如何形成

2.4K70

机器视觉工业缺陷检测(光源,相机,镜头,算法)

但实际问题是如果一个像素对应一个缺陷的话,那么这样系统一定会极不稳定,因为随便一个干扰像素点都可能被误认为缺陷,所以为了提高系统精准度和稳定性,最好取缺陷面积在34个像素以上,这样选择相机也就在...θ=2tan-1*6.4/2*12.5=28.72 工作距离(Working Distance,即WD) 工作距离(Working Distance,即WD):指镜头前部受检验物体距离... 焦距(f) 焦距(f):是光学系统中衡量光聚集或发散度量方式,指透镜光心到光聚集之焦点距离。亦是照相机中,镜片中心到底片或CCD等成像平面的距离。...以往计算机速度较慢时,采用视觉处理器加快视觉处理任务。现在由于采集卡可以快速传输图像存储器,而且计算机也快多了,所以现在视觉处理器用较少了。...OpenCV具有以下特征:(1)开源计算机视觉采用C/C++编写。(2)使用目的是开发实时应用程序。(3)独立与操作系统、硬件和图形管理器。()具有通用图象/视频载入、保存和获取模块。

14.7K68

OpenCV相机标定与畸变校正

在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数过程就称之为相机标定(或摄像机标定)。...相机标定常见分为: 单目相机标定 双目相机标定 相机标定是想从二维图像中获取三维信息,实现图像畸变校正、对象测量、三维重建等。...由于光线投射导致实际对象物体跟投影2D平面的图像不一致,幸运是这种不一致性是稳定,我们可以通过对相机标定,计算出畸变参数来实现对后续图像畸变校正。...OpenCV源码在其sample/data目录下面一个自带棋盘图(chessboard.png),显示如下: ? 在标定时候,算法要求提供棋盘格宽度与高度,还有他们间隔距离。...相机标定程序实现 04 大家好,现在我们开始程序实现环节,OpenCV中在camera模块中已经实现了张正友标定算法。我们只需要正确调用,就可以计算相机内参与外参,完成相机标定。

3K32

Qt5 和 OpenCV4 计算机视觉项目:6~9

距离测量 在不同情况下,有许多方法可以测量或估计对象之间或对象相机之间距离。...等式(1),我们知道焦点F可以计算为等式(2)。 然后,如果将对象移动到另一个位置,并将距离标记为D1,并将镜头上图像高度标记为H1,则考虑相机焦距是固定值,我们将得到方程(3)。...如果我们将方程(2)和方程(3)结合起来,我们将得到方程(4)。 等式(4),经过一些变换,我们可以得出距离D1,可以将其计算为等式(5)。...鸟瞰汽车之间距离 为了能够鸟瞰汽车,我将相机固定在办公室八层窗户上,使其面向地面。 这是我相机中获得图片之一: 您会看到道路上汽车图片左侧向右侧行驶。...当标志减少零时,我们得到范围终点。 换句话说,我们从左到右遍历了汽车所有端点。 当我们遇到汽车后端点时,将其添加到标志中,当我们遇到汽车前端点时,将其标志中移开。

3.1K30

ApacheCN 计算机视觉译文集 20211110 更新

八、对象跟踪 九、对象识别 十、增强现实 十一、通过人工神经网络机器学习 Qt5 和 OpenCV4 计算机视觉项目 零、前言 一、构建图像查看器 二、像专业人士一样编辑图像 三、家庭安全应用 四...、人脸上乐趣 五、光学字符识别 六、实时对象检测 七、实时汽车检测和距离测量 八、OpenGL 图像高速过滤 九、答案 OpenCV 图像处理学习手册 零、前言 一、处理图像和视频文件 二、建立图像处理工具...三、校正和增强图像 四、处理色彩 五、视频图像处理 六、计算摄影 七、加速图像处理 Python3 OpenCV4 计算机视觉学习手册 零、前言 一、设置 OpenCV 二、处理文件,相机和 GUI...三、使用 OpenCV 处理图像 四、深度估计和分割 三、检测和识别人脸 六、检索图像并将图像描述符用于搜索 七、建立自定义对象检测器 八、追踪对象 九、相机模型和增强现实 十、使用 OpenCV 神经网络简介...六、应用 4 –自动自拍 Python OpenCV 计算机视觉项目 零、前言 第 1 部分:模块 1 一、设置 OpenCV 二、处理文件,相机和 GUI 三、过滤图像 四、使用 Haar 级联跟踪人脸

95510

一篇文章认识《双目立体视觉》

环境 编程语言:Python3 主要依赖库:OpenCV3.x 或 OpenCV4.x 双目同步摄像头,两个镜头共用一个设备ID,左右摄像机同一频率。...,直接对图像所拍摄范围进行距离测量,无需判断前方出现是什么类型障碍物。 ​...视差disparity 首先看一组视觉图:左相机图和右相机图不是完全一致,通过计算两者差值,形成视差,生成视差图(也叫:深度图) ​ 视差是同一个空间点在两个相机成像中对应x坐标的差值; 它可以通过编码成灰度图来反映出距离远近...)直接利用视差计算距离,精度比单目高; (4)无需维护样本数据库,因为对于双目没有样本概念。...难点 (1)计算量大,对计算单元性能要求高,这使得双目系统产品化、小型化难度较;(芯片或FPGA) (2)双目的配准效果,直接影响测距准确性; (3)对环境光照非常敏感;(光照角度、光照强度)

8.5K21

Python OpenCV3 计算机视觉秘籍:6~9

近似和几何任务数据压缩,相机校准和机器学习,它可以在许多应用中找到。 但是,尽管它很简单,但是当现实世界影响发挥作用时,事情就会变得复杂。...CAS - 单应性估计相机旋转 介绍 将 3D 场景投影 2D 图像上(换句话说,使用照相机)可以消除有关场景对象离摄影师距离信息。...这不仅需要了解有关对象或摄像机配置信息,还需要具有摄像机固有参数。 本章介绍了相机校准 3D 对象位置重建和深度图检索所有 2D 图像获取 3D 信息必要步骤。...它可能是一个很小但很近物体,也可能是一个很大而又很远物体(图像可能是相同),但是通过知道物体几何尺寸,我们可以计算出物体相机距离。...通常,我们对对象几何形状了解是对象局部坐标系中某些 3D 点集位置。 通常,我们不仅要知道相机和物体局部坐标系之间距离,而且要知道物体方位。 使用 OpenCV 可以成功完成此任务。

2.2K20

OpenCV 安卓编程示例:1~6 全

导航文件 | 导入 | 现有的 Android 代码工作区中。 选择 OpenCV4Android SDK root目录。...如果使用 0 2^8 - 1无符号字符表示色深信息,则每个像素可以存储 0(黑色) 255(白色)强度值。...对于我们示例, 0 255,我们可以有 25 个箱子,每个箱子将容纳 10 个连续强度值值, 0 9, 10 19,依此类推。...现在,导航\sdk\native\libs\,并将所有文件夹复制新创建jniLibs文件夹中。...空MatOfRect对象,用于存储检测到边界框 比例因子,用于确定在每个比例下将输入帧减少多少(1.1意味着将当前比例减少 10% 以构造金字塔中下一个比例;具有较高值意味着以更快速度进行计算

5.5K10

ArUco与AprilTag简介

每个字典式表示位数和包含标记数 标准标记5×5位,0最小距离4*4位表示marker标记要被划分位数,边界为1比特位,所以4×4marker识别时候会被分割为6×6格子,最后面的数字表示字典里包含...AprilTag检测可以计算标定板相对于相机精确三维位置、方向和id。AprilTag库是用C实现,没有外部依赖关系。该库可以很容易地包含在其他应用程序中,也可以移植嵌入式设备上。...然而,它们被设计成编码更小数据有效载荷(412位之间),允许它们更可靠地被检测到,并且可以更长范围内被检测到。...更容易在中长距离旋转模糊 更多适配参数 计算量更大 AprilTag(在AprilTag ros中实现) 优点 更少适配参数 即使在远距离也能很好地工作 美国宇航局使用 更灵活标记设计(例如,标记可以不一定是正方形...) 计算量较少 缺点 不太直接地进行配置和设置(没有opencv实现AFAIK,只有ros实现,获得标记步骤稍微多一些) 更多错误检测(使用默认参数) 接下来本公众号将从opencv中aruco模块中给教程理论到实践进行讲解

2.1K40

我是这样搞定第一次单目相机测距

之前在做一个单目测距小项目,大概需要就是用单目相机,对一个特定目标进行识别并测算相机与该目标的距离。所以便去网上找了一堆教程,这里给大家总结一下,希望给小白们一个参考。...其中f为我们熟知相机参数——焦距,而光轴与成像平面的交点称为主点,X表示箭头长度,Z是相机箭头距离。...只要做一个5列7行表格,拉大全页,再设置每个格子宽高来将它设为正方形再涂色就可以了。...在有些情况下我们已经知道了相机内在参数,因此只需要计算正在观察对象位置,这种情况下与一般相机标定明显不同,但有相通之处。...像素块测距法 这个方法是玩openmv时知道,openmv封装单目测距算法,就是将目标对象先在固定距离(10cm)拍一张照片,测出照片中该物体像素面积。

5.6K91

实战 | 基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)

导 读 本文主要介绍如何使用YOLOv8+BYTETrack+OpenCV实现车辆速度计算(详细步骤 + 代码)。 前 言 您是否想过如何使用计算机视觉来估计车辆速度?...在本教程中,我们将探索对象检测到跟踪再到速度估计整个过程。 本文实现主要包含以下三个主要步骤,分别是对象检测、对象跟踪和速度估计,下面我们将一一介绍其实现步骤。...如果您想了解有关将 BYTETrack 集成对象检测项目中更多信息,请访问 Supervision文档页面。在那里,您将找到一个端端示例,展示如何使用不同检测模型来做到这一点。...即使汽车以恒定速度移动,其行驶像素距离也会发生变化。距离相机越远,覆盖距离越小。 因此,我们很难使用原始图像坐标来计算速度。...为了尽量减少坡度影响,我们必须将自己限制在道路相对平坦部分,或者将坡度纳入计算中。 —THE END—

2K14

在Android实现双目测距

通过本教程,你不仅掌握如何在Android中使用SBM等双目测距算法,顺便也了解如何在Android Studio配置OpenCV,通过使用OpenCV可以在Android中实现很多图像处理功能。...2、复制OpenCV动态库app/libs目录下。...在构造方法中配置StereoBM算法一下参数,有些参数是相机标定参数,具体用法参考《双目摄像头测量距离》这篇文章。 更加这篇教程,完成修改StereoBM算相机标定参数。...compute()方法返回值是图像计算图像结果转换图像,这给图像可以很直观显示图像距离计算结果都存放在xyz矩阵中。...,并没有使用摄像头拍摄,那么接下来我们就通过使用Android设备接双目摄像头,实时拍摄图像计算物体距离

1K20

在Android实现双目测距

通过本教程,你不仅掌握如何在Android中使用SBM等双目测距算法,顺便也了解如何在Android Studio配置OpenCV,通过使用OpenCV可以在Android中实现很多图像处理功能。...[在这里插入图片描述] 2、复制OpenCV动态库app/libs目录下。...在构造方法中配置StereoBM算法一下参数,有些参数是相机标定参数,具体用法参考《双目摄像头测量距离》这篇文章。 更加这篇教程,完成修改StereoBM算相机标定参数。...compute()方法返回值是图像计算图像结果转换图像,这给图像可以很直观显示图像距离计算结果都存放在xyz矩阵中。...,并没有使用摄像头拍摄,那么接下来我们就通过使用Android设备接双目摄像头,实时拍摄图像计算物体距离

2.4K10

Python3 OpenCV4 计算机视觉学习手册:1~5

如果这是您兴趣,您将不会感到失望! OpenCV 代表开源计算机视觉。 它是一个免费计算机视觉库,可让您处理图像和视频以完成各种任务,显示网络摄像头中教机器人识别现实中物体。...也可以通过apt获得 OpenCV 包,但在编写本文时,该包尚未更新为 OpenCV4。相反,我们可以 Python 标准包管理器pip获得 OpenCV 4(不支持深度相机)。 ]。...灰度图像,其中每个像素值是相机表面的估计距离。...概念上讲,它会跟踪相机图像中每个对象假想线,然后在第二个图像上进行操作,并根据与同一对象相对应线交点计算对象距离。...在第 4 章,“深度估计和分割”中,我们研究了 NIR 深度相机(如 Asus Xtion PRO)基本用法。 我们扩展了交互式应用Cameo面向对象代码。 我们深度相机捕获了帧。

4K20

RGBD相机模型与图片处理

图像 灰度图 灰度是描述灰度图像内容最直接视觉特征。它指黑白图像中点颜色深度,范围一般0255,白色为255,黑色为0,故黑白图像也称灰度图像。...深度图 当我们要记录信息更多时,一个字节就不够了。 在RGB-D相机深度图中,记录了各个像素与相机之间距离。这个距离通常是以毫米为单位,而RGB-D 相机量程通常在十几米左右,超过了255。...RGB彩色图与灰度图之间转换 彩色图像转换为灰度图像时,需要计算图像中每个像素有效亮度值,其计算公式为: Y = 0.299R + 0.578G + 0.114B 双目相机通过视差来计算深度。...RGBD相机则可以主动测量每个像素深度。 通过红外结构光(Structured Light)来测量像素距离。...例子有Kinect 2 代和一些现有的ToF 传感器等 RGBD相机原理图 深度图保存 那么如何RGBD相机提取像素深度信息呢? 下面是一个简单小程序,可以显示像素深度信息.

59410
领券