一步步学习OpenCV2
文章平均质量分 89
面向小白,熟悉图像处理常用方法,拥有详细代码注释,跟着文章一步一步实现走向高手之路。主要是在Visual Studio2013+OpenCV2.x版本进行学习。结合书本与网上前辈大佬的精彩内容。不断更新中,敬请关注。
拜小白
图像处理/计算机视觉/opencv/c++
展开
-
【拜小白opencv】46-RGB直方图计算与绘制----calcHist()函数、normalize()函数
在OpenCV中,彩色图像存储是通过多通道的数组来实现的,因此,对彩色图像求其直方图,可先提取彩色图像的各个通道,然后对每个通道进行直方图计算,最后利用图像融合技术合并通道信息,求解出图像颜色分布直方图。原创 2017-12-19 20:30:25 · 2559 阅读 · 0 评论 -
【拜小白opencv】45-二维H-S直方图绘制----calcHist()函数、minMaxLoc()函数
H-S直方图常常应用在目标检测、特征分析及目标特征跟踪等场景中。原创 2017-12-18 21:22:30 · 3197 阅读 · 1 评论 -
【拜小白opencv】44-灰度直方图(一维直方图)calcHist()函数、minMaxLoc()函数、normalize()函数
直方图(Histogram)又称柱状图、质量分布图,是一种统计报告图。直方图由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。在图像处理上,直方图是图像信息统计的有力工具。其实也就是统计一幅图某个亮度像素数量。原创 2017-12-09 11:14:59 · 8236 阅读 · 4 评论 -
【拜小白opencv】43-形态学滤波——综合示例【腐蚀、膨胀、开运算、闭运算、顶帽、黑帽 形态学梯度、内部梯度、外部梯度、X方向梯度、Y方向梯度】
一共实现了11种操作:腐蚀、膨胀、开运算、闭运算、顶帽、黑帽、形态学梯度(又为基本梯度)、内部梯度、外部梯度、X方向梯度、Y方向梯度。原创 2017-12-01 21:21:26 · 2150 阅读 · 0 评论 -
【拜小白opencv】42-形态学滤波7——黑帽运算
黑帽运算为闭运算结果图与原图像之差原创 2017-11-29 09:09:25 · 3132 阅读 · 0 评论 -
【拜小白opencv】41-形态学滤波6——顶帽运算(OR礼帽运算、高帽运算)
顶帽运算是原图像与“开运算“的结果图之差。原创 2017-11-28 20:09:19 · 9353 阅读 · 0 评论 -
【拜小白opencv】40-形态学滤波5——形态学梯度(基本梯度、内部梯度、外部梯度、方向梯度)
形态学梯度根据膨胀或者腐蚀与原图作差组合来实现增强结构元素领域中像素的强度,突出高亮区域的外围。原创 2017-11-25 10:57:29 · 7593 阅读 · 1 评论 -
【拜小白opencv】39-形态学滤波4——闭运算
闭运算(Closing Operation),其实就是先膨胀再腐蚀的结果。原创 2017-11-22 17:06:32 · 2100 阅读 · 0 评论 -
【拜小白opencv】38-形态学滤波3——开运算
开运算(Opening Operation),其实就是先腐蚀后膨胀的过程。原创 2017-11-20 20:54:13 · 2642 阅读 · 0 评论 -
【拜小白opencv】37-形态学滤波2——膨胀
膨胀是指:将卷积核B滑过图像A,找出卷积核区域内最大像素值作为锚点像素值。这一操作可以缩小低像素值区域。原创 2017-11-17 20:16:45 · 2209 阅读 · 0 评论 -
【拜小白opencv】36-形态学滤波1——腐蚀
腐蚀是指:将卷积核B滑过图像A,找出卷积核区域内最小像素值作为锚点像素值。这一操作可以扩大低像素值区域。原创 2017-11-16 21:12:24 · 2636 阅读 · 0 评论 -
【拜小白opencv】35-inRange()函数的使用,对图像进行阈值化/二值化
主要是将在两个阈值内的像素值设置为白色(255),而不在阈值区间内的像素值设置为黑色(0),该功能类似于之间所讲的双阈值化操作。原创 2017-09-21 21:41:33 · 20364 阅读 · 2 评论 -
【拜小白opencv】34-图像平滑处理,6种滤波总结的综合示例【盒式滤波、均值滤波、高斯滤波、中值滤波、双边滤波、导向滤波】
图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。【盒式滤波、均值滤波、高斯滤波、中值滤波、双边滤波、导向滤波】原创 2017-09-18 20:39:13 · 7994 阅读 · 0 评论 -
【拜小白opencv】33-平滑处理6——引导滤波/导向滤波(Guided Filter)
常言道“温故而知新”,写此文章就是对自己目前学习内容的小小的总结与记录。本文力求用最简洁的语言,详细的代码将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有些瑕疵,还望读者能够指教探讨,大家共同进步。博主机器配置为:VS2013+opencv2.4.13+Win-64bit。若本文能给读者带来一点点启示与帮助,我就很开心了。===============...原创 2017-09-15 13:50:12 · 17298 阅读 · 4 评论 -
【拜小白opencv】32-平滑处理5非线性滤波之——双边滤波
双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部的特点。原创 2017-09-12 19:56:47 · 3938 阅读 · 2 评论 -
【拜小白opencv】31-平滑处理4非线性滤波之——中值滤波
中值滤波法是一种非线性平滑技术,将图像的每个像素用邻域 (以当前像素为中心的正方形区域)像素的中值代替 ,常用于消除图像中的椒盐噪声。原创 2017-09-11 09:21:56 · 6722 阅读 · 0 评论 -
【拜小白opencv】30-平滑处理3线性滤波之——高斯滤波
高斯滤波(高斯平滑)是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。原创 2017-09-09 21:41:51 · 7859 阅读 · 1 评论 -
【拜小白opencv】29-平滑处理2线性滤波之——均值滤波
均值滤波,是最简单的一种线性滤波操作,输出图像的每一个像素是核窗口内输入图像对应像素的像素的平均值( 所有像素加权系数相等),其实说白了它就是归一化后的方框滤波。原创 2017-09-09 19:42:04 · 7298 阅读 · 0 评论 -
【拜小白opencv】28-平滑处理1线性滤波之——盒式滤波(方框滤波)
盒式滤波(方框滤波)是一种线性滤波技术,它的实现借鉴了积分图像的原理思想,在快速积分图像求解中,将计算某个矩阵像素间的和值运算,转化为求矩阵对应边角点的求和差值运算。原创 2017-09-03 16:40:29 · 14329 阅读 · 5 评论 -
【拜小白opencv】27-图像噪声2——高斯噪声
图像噪声2——高斯噪声。给图像添加高斯噪声原创 2017-09-02 16:54:14 · 5972 阅读 · 0 评论 -
【拜小白opencv】26-图像噪声1——椒盐噪声
图像噪声1——椒盐噪声。给图像添加椒盐噪声原创 2017-09-02 09:29:10 · 3073 阅读 · 0 评论 -
【拜小白opencv】25-综合示例——8种阈值化操作【OTSU阈值化、自适应阈值化、二进制阈值化、反二进制阈值化、截断阈值化、阈值化为0、反阈值化为0,双阈值化】
综合示例——8种阈值化操作【OTSU阈值化、自适应阈值化、二进制阈值化、反二进制阈值化、截断阈值化、阈值化为0、反阈值化为0,双阈值化】原创 2017-08-28 22:24:05 · 3143 阅读 · 1 评论 -
【拜小白opencv】24-半阈值化操作
半阈值化操作。半阈值化为0操作原创 2017-08-27 20:24:26 · 857 阅读 · 1 评论 -
【拜小白opencv】23-双阈值化操作
双阈值化操作。对于有些图像有很强的分界特征,我们可以考虑用双阈值法进行二值化操作。原创 2017-08-26 22:21:40 · 3429 阅读 · 1 评论 -
【拜小白opencv】22-自适应阈值化操作:adaptiveThreshold()函数
自适应阈值化操作:adaptiveThreshold()函数.自适应阈值则,是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值原创 2017-08-25 21:11:45 · 23221 阅读 · 9 评论 -
【拜小白opencv】21-固定阈值化:Threshold()函数
固定阈值化:Threshold()函数.阈值类型有如下几种:0:二进制阈值化。1:反二进制阈值化。2:截断阈值化:大于该阈值的像素点被设定为该阈值。3:阈值化为0:低于阈值被设置为0。4:反阈值化为0:超过阈值被设置为0。原创 2017-08-24 19:31:20 · 4217 阅读 · 0 评论 -
【拜小白opencv】20-OTSU阈值化实现;OTSU最大类间方差法
OTSU阈值化实现;OTUS最大类间方差法。在阈值化处理中,常用的算法就是OTSU(最大类间方差法)。OTUS算法的思想:选取一个阈值T,T∈[0,m−1],m为图像的灰度级。将图像直方图分成两部分,T值使得分成的两组间方差最大。原创 2017-08-24 14:39:41 · 3918 阅读 · 11 评论 -
【拜小白opencv】19-保存视频操作——写操作
保存视频操作——写操作。此程序是将原视频中的B通道处理后保存。原创 2017-08-21 21:10:51 · 2343 阅读 · 0 评论 -
【拜小白opencv】18-使用VideoCapture类读取播放视频操作--多信息版
使用VideoCapture类读取播放视频操作--多信息版。增加了获取视频相关信息的部分。可以得到帧数、帧像素高/宽、帧率。原创 2017-08-21 20:14:40 · 1702 阅读 · 2 评论 -
【拜小白opencv】17-使用VideoCapture类读取播放视频操作--简洁版
使用VideoCapture类读取播放视频操作--简洁版。本节内容仅仅是个简洁版,只能读取显示视频,无其他相关操作原创 2017-08-21 20:01:47 · 2431 阅读 · 0 评论 -
【拜小白opencv】16-用四种方法访问图像中的每个像素
用四种方法访问图像中的每个像素。动态地址计算——配合.at<Vec3b>(i, j)[k]访问像素;用指针来遍历图像——C操作符[];更高效的方法——isContinuous()函数;迭代器——比较安全的方式;原创 2017-08-20 21:12:48 · 1333 阅读 · 3 评论 -
【拜小白opencv】15-利用ROI将一幅图像叠加到另一幅图像的指定位置
利用ROI将一幅图像叠加到另一幅图像的指定位置;如何理解带mask参数的这种方式原创 2017-08-19 18:44:50 · 13237 阅读 · 0 评论 -
【拜小白opencv】14-只去除RGB的某一颜色通道
只去除RGB的某一颜色通道;本节内容就是利用split()与merge()函数,实现只去除RGB的某一颜色通道,以及只显示一个通道。原创 2017-08-19 15:48:13 · 9132 阅读 · 1 评论 -
【拜小白opencv】13-Mat类中几种常用函数用法;行、列显示等
Mat类中几种常用函数用法;行、列显示等原创 2017-08-17 19:52:08 · 713 阅读 · 0 评论 -
【拜小白opencv】12-Mat类常用的几种创建方法及clone(),copyTo()的使用
Mat类常用的几种创建方法。及clone(),copyTo()的使用原创 2017-08-16 16:49:11 · 2730 阅读 · 0 评论 -
【拜小白opencv】11-综合示例-两幅图像融合-摄像头采集图像-滑动条
结合前几节的内容,写了个小小的综合示例。同样是两幅图像融合,只不过其中一副图像是从电脑中读取,另一幅是从摄像头获取。还添加了滑动条,以便实时改变融合效果。原创 2017-08-15 18:48:12 · 1774 阅读 · 1 评论 -
【拜小白opencv】10-开启摄像头,显示图像;VideoCapture类
开启摄像头,显示图像;VideoCapture类原创 2017-08-15 15:14:56 · 2542 阅读 · 2 评论 -
【拜小白opencv】9-滑动条(滚动条)创建与实现;createTrackbar()函数
滑动条(滚动条)创建与实现;createTrackbar()函数;利用滑动条改变参数,观察两幅图像融合不同值的效果。原创 2017-08-14 18:47:09 · 2114 阅读 · 5 评论 -
【拜小白opencv】8-感兴趣区域ROI图像获取操作
感兴趣区域ROI图像获取操作。在图像处理中,我们常常需对图像中某个重点区域进行分析处理,而不改变图像中的其他区域,因此这就要从整幅图像中提取感兴趣区域ROI(region of interest)。OpenCV中常常用到Rect来设置相应的ROI。原创 2017-08-14 15:22:28 · 3852 阅读 · 0 评论 -
【拜小白opencv】7-两幅图像融合简单实现2;addWeighted()函数;两幅图像尺寸不相同时;
两幅图像融合简单实现2;addWeighted()函数;两幅图像尺寸不相同时; 我们通过两种方式解决这个问题。1.重置其中一副图像的尺寸大小,使其两幅图像尺寸一致;2.在较大的图像中设置感兴趣区域ROI,获得与较小的那个图像尺寸一致的区域;原创 2017-08-11 20:10:52 · 11077 阅读 · 5 评论