目录 1 Mat像素访问 1.1 使用at方法直接进行像素访问 1.2 使用指针进行像素访问 1.3 使用forEach方法进行像素访问 1.4 将forEach与C ++ 11 Lambda一起使用 2 性能比较与代码 2.1 性能比较 2.2 代码 3 参考 C++11扩展了for语句的语法.用这个新写法forEach,forEach可以遍历C类型的数组.初始化列表以及任何重载了非成员的begin()和end()函数的类型.OpenCV的Mat数据结构中有用到ForEach的写法.在本教程中…
本文主要介绍基于图像强度变换算法来实现图像对比度均衡.通过图像对比度均衡能够抑制图像中的无效信息,使图像转换为更符合计算机或人处理分析的形式,以提高图像的视觉价值和使用价值.本文主要通过OpenCV contrib中的intensity_transform模块实现图像对比度均衡.如果想了解具体相关方法原理见冈萨雷斯主编的图像处理经典书籍 数字图像处理Digital Image Processing 第四版第三章. 本文需要OpenCV contrib库,OpenCV contrib库的编译安装见…
本文主要介绍基于OpenCV contrib中的quality模块实现图像质量评价.图像质量评估Image Quality Analysis简称IQA,主要通过数学度量方法来评价图像质量的好坏. 本文需要OpenCV contrib库,OpenCV contrib库的编译安装见: OpenCV_contrib库在windows下编译使用指南 本文所有代码见: OpenCV-Practical-Exercise 文章目录 1 OpenCV中图像质量评价算法介绍 1.1 相关背景 1.2 OpenC…
目前有许多算法来衡量两幅图像的相似性,本文主要介绍在工程领域最常用的图像相似性算法评价算法:图像哈希算法(img hash).图像哈希算法通过获取图像的哈希值并比较两幅图像的哈希值的汉明距离来衡量两幅图像是否相似.两幅图像越相似,其哈希值的汉明距离越小,通过这种方式就能够比较两幅图像是否相似.在实际应用中,图像哈希算法可以用于图片检索,重复图片剔除,以图搜图以及图片相似度比较. 为什么图像哈希算法能够评估两幅图像的相似性,这就需要从哈希值说起,哈希值计算算法的本质就是对原始数据进行有损压缩,有损…
图像超分辨率(Image Super Resolution)是指从低分辨率图像或图像序列得到高分辨率图像.图像超分辨率是计算机视觉领域中一个非常重要的研究问题,广泛应用于医学图像分析.生物识别.视频监控和安全等领域.随着深度学习技术的发展,基于深度学习的图像超分方法在多个测试任务上,相比传统图像超分方法,取得了更优的性能和效果. 文章目录 1 OpenCV dnn_superres模块介绍 2 OpenCV dnn_superres模块使用 2.1 图像超分放大单输出 2.1.1 接口介绍 2.…
本文主要讲述利用OpenCV制作低成本立体相机以及如何使用OpenCV创建3D视频,准确来说是模仿双目立体相机,我们通常说立体相机一般是指双目立体相机,就是带两个摄像头的那种(目就是指眼睛,双目就是两只眼睛),这种双目摄像机模仿人的视觉,所以应用很广泛(主要是工业机器人视觉).双目摄像机也广泛应用于无人驾驶,比如特斯拉.图森未来,小鹏汽车在自家的无人驾驶汽车上都安载了立体相机,双目和多目的都有.另外双目视觉加上深度学习还蛮好水论文的.本文主要说的是低成本,实际上没人这样干,有专门的双目立体相机,…
人类具有一种视觉注意机制,即当面对一个场景时,会选择性地忽略不感兴趣的区域,聚焦于感兴趣的区域.这些感兴趣的区域称为显著性区域.视觉显著性检测(Visual Saliency Detection,VSD)则是一种模拟人类视觉并从图像中提取显著性区域的智能算法.如下面左边的图所示,人眼在观看该图片时会首先注意其中的小狗,自动忽略背景区域,小狗所在区域就是显著性区域.通过计算机视觉算法对左边的图像进行视觉显著性检测能够得到下图右边的结果,其中黑色区域为不显著区域,白色为显著区域,显著性检测在机器人领…
目录 1 背景介绍 2 基于MultiTracker的多目标跟踪 2.1 创建单个对象跟踪器 2.2 读取视频的第一帧 2.3 在第一帧中确定我们跟踪的对象 2.4 初始化MultiTrackerer 2.5 更新MultiTracker和显示结果 3 结果和代码 4 参考 在这篇文章中,我们将介绍如何在OpenCV中使用MultiTracker类实现多目标跟踪API.在深入了解详细信息之前,请查看下面列出的关于目标跟踪的帖子,以了解在OpenCV中实现的单个目标跟踪器的基础知识.同时需要安装o…
目录 1 cvui的使用 1.1 如何在您的应用程序中添加cvui 1.2 基本的"hello world"应用程序 2 更高级的应用 3 代码 4 参考 有很多很棒的GUI库,例如Qt和imgui,可以与OpenCV一起使用,允许您在运行时调整参数.但是,在某些情况下,您可能没有(或不希望)此类库的依赖关系,例如,您没有使用Qt支持编译OpenCV,或者您无法使用OpenGL.在这种情况下,您只需要一种快速,轻松的方式来创建GUI来调整算法. 这就是cvui的目的.它是一个基于Ope…
目录 1 什么是霍夫变换 1.1 应用霍夫变换以检测图像中的线条 1.2 累加器 1.3 线条检测 1.4 圆环的检测 2 代码 3 参考 1 什么是霍夫变换 霍夫变换是用于检测图像中的简单形状(诸如圆形,线条等)的特征提取方法."简单"形状是可以仅由几个参数表示的形状.例如,一条线可以用两个参数(斜率,截距)表示,一个圆有三个参数:中心坐标和半径(x,y,r).霍夫变换在图像中找到这样的形状方面做得很好.使用Hough变换的主要优点是它对遮挡不敏感.让我们通过一个例子来看看霍夫变换是…