Opencv 3入门(毛星云)摘要
第一章
环境搭建:
1、 环境变量path 添加 D:\Program Files\opencv\build\x86\vc11\bin
2、 VS在VC++项目中,属性管理器\属性。
VC++目录 包含目录: D:\Program Files\opencv\build\include
D:\Program Files\opencv\build\include\opencv
D:\Program Files\opencv\build\include\opencv2
库目录: D:\Program Files\opencv\build\x86\vc11\lib
3、连接器\输入\附加的依赖项 opencv_ts300.lib opencv_world300.lib
第六章
三种线性滤波:方框BoxBlur、 均值Blur、高斯GaussianBlur
两种非线性滤波:中值medianBlur、双边bilateralFilter
七种图像处理形态学:腐蚀erode、膨胀dilate、开运算、闭运算、形态学梯度、顶帽、黑帽
几种常用的线性滤波器:
低通滤波器: 允许低频率通过
高通滤波器:允许高频率通过
带通滤波器:允许一定范围频率通过
带阻滤波器:阻止一定范围频率通过,允许其他频率通过
全通滤波器:允许所有通过,仅仅改变相位关系
陷波滤波器(Band-Stop filter):阻止一个狭窄频率范围通过,是一种特殊带阻滤波器
均值滤波是一种方框滤波,本身存在缺陷,在去噪的同时也破坏了图像的细节部分。
高斯模糊的过程就是图像与正态分布做卷积,正态分布又叫高斯分布。
中值滤波基本思想是用像素点领域灰度值的中值来代替该像素点的灰度值,对去除脉冲噪声、椒盐噪声,同时又能保留图像的边缘细节。其基本原理是把数字图像或数字序列中一点的值用该点的一个领域中各点值的中值代替,让周围的像素值接近真实值。从而消除孤立的噪声点。其劣势:中值滤波花费的时间是均值滤波的5倍以上。
数字形态学是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。基本运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、top-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度。
腐蚀和膨胀是对白色部分(高亮部分)而言的。
开运算其实就是先腐蚀后膨胀,可以用来消除小物体,在纤细点处分离物体,并且在平滑较大物体边界的同时不明显改变其面积。
闭运算是先膨胀后腐蚀,能够排除小型黑洞(黑色区域)。
形态学梯度(Morphological Gradient)是膨胀图与腐蚀图之差。对二值图像进行这一操作可以将blod的国家级突出。
顶帽运算是原图像与开运算结果图之差。用来分离比邻近点亮一些的斑块。(如车牌提取)
黑帽运算是闭运算的结果图与原图像之差。突出比原图轮廓周围的区域更暗的区域。用来分离暗斑。
漫水填充(floodFill)就是自动选中和种子点相连的区域,接着将该区域替换成指定的颜色。
图像金字塔:pyrUp,pyrDown对图像进行向上和向下采样。缩放图像resize.
阈值化: Threshold() adaptiveThreshold() 自适应
第七章
边缘检测
Canny算子
Soble算子
Laplacian算子
Scharr滤波器
霍夫变换(是一种特征提取技术,应用于在图像中识别几何形状(直线或圆等))
支持三种不同的霍夫线变换:标准(standard Hough transform , SHT), 多尺度(Multi_Scale Hough Transform , MSHT)和累计概率霍夫变换(Progressive probabilistic Hough Transform, PPHT)
HoughLines 函数调用标准和多尺度霍夫变换
HoughLinesP 函数调用累计概率霍夫变换,执行效率很高,一般用这个。
HoughCircles ,用霍夫梯度法来解决圆变换问题。此法可以高效执行。
重映射:remap() 把一幅图像中某位置的像素放置到另一个图片指定位置的过程。
仿射变换:指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间的过程。它保持了二维图形的平直性和平行性。三种常见的变换形式:旋转(线性变换)、平移(向量加)、缩放(线性变换)。
warpAffine 来实现一些简单的重映射。
getRotationMatrix2d来获得旋转矩阵。
直方图均衡化:是灰度变换的一个重要应用。应用于图像增强处理中。就是用一定的算法使直方图大致平和的方法。
equalizeHist
第八章
findContours() 寻找轮廓
drawContours() 绘制轮廓
寻找凸包:convexHull()
用多边形表示轮廓
boundingRect 返回外部矩形边界
minAreaRect 寻找最小包围矩形
minEnclosingCircle 寻找最小包围圆形
fitEllipse 用椭圆拟合二维点集
appproxPolyDP 逼近多边形曲线
矩函数应用于模式识别、目标分类、目标识别与方位估计、图像编码与重构等。一个从一幅数字图形中计算出来的矩集,通常描述了该图像形状的全局特性,并提供了关于该图像不同类型的几何特性信息,比如大小、位置、方向及形状等。
Monments 计算图像所有的矩(最高到3 阶),用来计算形状的重心、面积、主轴和其他形状特征。
contourArea 计算轮廓面积
arcLength 计算轮廓或曲线长度
分水岭算法:是一种基于拓扑理论的数学形态学的分割方法。其计算过程是一个迭代标注过程,分成两个步骤:一个是排序过程,一个是淹没过程。
Watershed
Inpaint 图像修补
第九章
calcHist 直方图
用rectangle 和line 来绘制直方图。
minMaxLoc() 找寻最值
compareHist 直方图对比
反射投影:用于在输入图像(通常较大)中查找与特定图像(通常较小或者仅1个像素 (模板图像))最匹配的点或者区域。
calcBackProject 反射投影
mixChannels 通道复制
matchTemplate 模板匹配
匹配方法:
TM_SQDIFF 平方差匹配法,最好匹配为0.
TM_SQDIFF_NORMED 归一化平方差匹配法
TM_CCORR 相关匹配法
TM_CCORR-NORMED 归一化相关匹配法
TM-CCOEFF 系数匹配法
TM_CCOEFF_NORMED 化相关系数匹配法
方法 SQDIFF 和 SQDIFF_NORMED, 越小的数值有着更高的匹配结果. 而其余的方法, 数值越大匹配效果越好
从简单到复杂,计算代价越来越大。
第十章
Harris角点检测:是一种基于灰度图像的角点提取算法,稳定性高,尤其对L型角点检测精度高。但由于采用了高斯滤波,运算速度相对较慢,角点信息有丢失和位置偏移现象,而且角点提取有聚簇现象。
conerHarris()
Shi-Tomasi 角点检测,是对Harris的改进,此算法最原始的定义是将矩形M的行列式与M的迹相减,再将差值同预先给定的阈值进行比较。后来进行了改进,若两个特征值中较小的一个大于最小阈值,则会得到强角点;
goodFeaturesToTrack()
寻找亚像素角点: cornerSubPix()
第十章
SIFT
SURF,speededup robust features,加速版本的具有鲁棒性的特征算法。Hessian(海森)矩阵是该算法的核心。
findHomeography 找到并返回源图像与目标图像之间的透视变换H.
perspectiveTransform 进行向量透视矩阵变换。
ORB算法:是oriented brief是brief算法的改进版,ORB是sift的100倍,是sruf 的10倍。
缺点:不具备旋转不变性,对噪声敏感,不具备尺度性不变性。
Opencv 3入门(毛星云)摘要的更多相关文章
- opencv图像处理基础 (《OpenCV编程入门--毛星云》学习笔记一---五章)
#include <QCoreApplication> #include <opencv2/core/core.hpp> #include <opencv2/highgu ...
- OpenCV教程(转自:浅墨_毛星云博客)
2.图像的载入,显示和输出 一站式完全解析 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/detail ...
- 颜色缩减(带Trackbar)【从毛星云Opencv3编程入门P75 P111例程改编】
最近学了点opencv,买了毛星云的书,大力推荐哦. 颜色缩减,自己加了个Trackbar看起来更直观一些. 我一般自己先看一遍程序,脑子里有个大概印象了,再自己写一遍,这样出了错误会印象更深刻. 1 ...
- opencv编程入门技巧
opencv编程入门技巧 最近在项目中负责图像处理模块的编程工作,主要分为两个板块,一是视频图像去雾,二是可视.红外图像融合.为了提升开发效率,遂开始学习并使用opencv图像类库,效果很好的说~因为 ...
- openCV从入门到放弃
与图像处理之间的关系,opencv的简介和使用定位 如题...因为偶然的机会需要用到图像处理,像我这么爱学习 并且动手能力又强的人怎么能没有心得笔记呢,哇哈哈哈.非要说的low逼点这玩意儿这玩意儿就是 ...
- OpenCV从入门到放弃系列之——如何扫描图像、利用查找表和计时
目的 如何遍历图像中的每一个像素? OpenCV的矩阵值是如何存储的? 如何测试我们所实现算法的性能? 查找表是什么?为什么要用它? 测试用例 颜色空间缩减.具体做法就是:将现有颜色空间值除以某个输入 ...
- OpenCV从入门到放弃系列之——core模块.核心功能(一)
Mat - 基本图像容器 世间的图像是各种各样的,但是到了计算机的世界里所有的图像都简化为了数值矩以及矩阵信息.作为一个计算视觉库,OpenCV的主要目的就是处理和操作这些信息,来获取更高级的信息,也 ...
- OpenCV从入门到放弃系列之——图像的基本操作
读取.修改.保存图像 图像读取函数imread(); 图像颜色空间的转换cvtColor(); 图像保存至硬盘imwrite(); /********************************* ...
- opencv 学习入门篇
unbuntu 安装:http://blog.csdn.net/cocoaqin/article/details/78163171 windows 安装:https://jingyan.baidu.c ...
随机推荐
- JS 数组去重!!!
var arr = [1,2,3,1,1,1,3,5,3,6,2]; var newArr=[]; for(var i = 0; i < arr.length-1; i++){ var onOf ...
- IIS使用问题
1.System.Data.SQLite”或它的某一个依赖项.试图加载格式不正确的程序:修改IIS应用程序池的高级设置将32位设置成true
- vega prime 1.2 (视景仿真)
Vega Prime 1.2 (视景仿真) MPI的视景仿真渲染工具Vega是世界上领先的应用于实时视景仿真.声音仿真和虚拟现实等领域的软件环境,它用来渲染战场仿真.娱乐.城市仿真.训练模拟器和计算可 ...
- C++ Primer---- 奇怪的 protected 成员
protected 成员在 C++ Primer 第四版中有如下描述: 可以认为 protected 标号是 private 和 public 的混合: 1. 像 private 成员一样, prot ...
- 学习php前需要了解的知识
1.静态网站与动态网站 A)静态网站: 不支持数据交互的网站(后缀: .html .htm) B)动态网站: 支持数据交互的网站,动态网站可以放静态网页的 i.实现动态网站的技术 1.Asp ...
- c++回调函数 callback
C++中实现回调机制的几种方式 (1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型.比如 ...
- 程序员是怎么炼成的---OC题集--练习答案与题目(2)
1.objective-c中有垃圾回收机制吗? 没有像java.C#一样的垃圾回收机制,但是有ARC自动引用计数器技术,根据对象的引用技术来判断对象是否还在使用,如果RC=0,则系统就会销毁对象,实 ...
- JavaScript string.format
//string.format String.prototype.format=function(){ var e = this, f = arguments.length; if (f > 0 ...
- dede的pagelist标签的listsize数字属性详解(借鉴)
dede的pagelist标签的listsize数字属性详解.见远seo经常用织梦搭建各种网站,有次发现列表页面的分页显示超过div的界限,也就是溢出了或者说是撑破了.后来经过研究发现是pagelis ...
- web app 的技术参考 -- 来自 【百度移动建站指南】
优化页面性能 考虑到移动设备和移动互联网的特点,在进行移动网站的页面开发设计时,一个总的原则是考虑用户访问的效率,降低页面加载时间. 下面的内容来自百度,然后我自己做了笔记.另外可参考这个系列的文章 ...