![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
我是包不同
这个作者很懒,什么都没留下…
展开
-
OpenCV图像处理开发实战(17) --用watershed()函数分割图像
1、前言图像分割是图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分。根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。简单的说就是在一副图像中,把目标从背景中分离出来。对于灰度图像来说,区域内部的像素一般具有灰度相似性,而在区域的边界上一般具有...原创 2020-04-20 16:34:34 · 386 阅读 · 1 评论 -
OpenCV图像处理开发实战(16) -- 图像的几何矩moments(测面积、测弧度长)
1、 矩的理解(1)物理中的矩在力学中,矩是表示距离和物理量乘积的物理量,表征物体的空间分布。原则上任何物理量和距离相乘都会产生力矩,质量,电荷分布等。单个点的力矩:,多个点则是积分的空间密度:,如果点表示质量,则第零矩是总质量,一阶矩是重心,二阶矩是转动惯量。(2)数学中的矩在统计学中,矩表征随机量的分布。如一个“二阶矩”在一维上可测量其“宽度”,,在更高阶的维度上由于其使用于橢球的空间...原创 2020-04-20 11:35:33 · 1382 阅读 · 0 评论 -
OpenCV图像处理开发实战(15) -- 轮廓检测:findContours
1、轮廓检测轮廓检测是从灰度图中检索物体的轮廓线。即提取边缘线。openCV提供两个函数findContours 和 drawContours。(1)findContours()函数void findContours(InputOutputArray image,OutputArrayOfArrays contours, // 检测出的轮廓对象OutputArray hierarch...原创 2020-04-17 13:39:38 · 371 阅读 · 0 评论 -
OpenCV图像处理开发实战(14) -- 模板匹配matchTemplate
1、模板匹配原理模板匹配是从源图像中找出一个特定特征的区域图像。主要算法:(1)方差匹配 CV_TM_SQDIFF(2)标准差匹配 CV_TM_SQDIFF_NORMED(3)相关匹配 CV_TM_CCORR(4)相关系数匹配 CV_TM_CCORR_NORMED(5)相关匹配 CV_TM_CCOEFF(6)相关系数匹配 CV_TM_CCOEFF_NORMED2、模板匹配函数...原创 2020-04-17 11:16:43 · 412 阅读 · 0 评论 -
OpenCV图像处理开发实战(13) --直方图与均衡化
1、前言(1)直方图灰度直方图是灰度级的统计图,统计图像中各个灰度级的像元的个数。确定图像像元的灰度值范围,以适当的灰度间隔为单位将其划分为若干等级,以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。直方图反映了图像中的灰度分布规律,描述每个灰度级具有的像元个数。(2)直方图均衡化利用直方图实现灰度映射从而达到图像增强的目的。...原创 2020-04-16 14:52:36 · 189 阅读 · 0 评论 -
OpenCV图像处理开发实战(12) -- 霍夫变换与直线圆检测
1、霍夫变换原理Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。(1)直线检测画一条直线,要求出这条直线所在的位置。直线的方程可以用y=kx+b 来表示,其中k和b是参数,分别是斜率和截距。过某...原创 2020-04-16 11:19:43 · 401 阅读 · 0 评论 -
OpenCV图像处理开发实战(11) -- 图像中的边缘提取
1、边缘提取边缘提取,是对于图片轮廓的一个处理。对于边界处,灰度值变化比较剧烈的地方,就定义为边缘。也就是拐点,拐点是指函数发生凹凸性变化的点。二阶导数为零的地方。并不是一阶导数,因为一阶导数为零,表示是极值点。关于导数总结如下:(1)一阶导数是图像中产生较粗的边缘(2)二阶导数对精细细节,如细线、孤立点和噪声有较强的响应(3)二阶导数在灰度斜坡和灰度台阶过度处会产生双边沿响应(4)二...原创 2020-04-15 14:15:52 · 6263 阅读 · 0 评论 -
OpenCV图像处理开发实战(10) -- 图像阈值处理
1、图像阈值处理图像阈值,即图像的分割基准,基于此可完成图像的二值化。利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。适用于目标与背景灰度有较强对比的情况,重要的是背景或物体的灰度比较单一,而且总可以得到封闭且连通区域的边界...原创 2020-04-15 13:09:27 · 180 阅读 · 0 评论 -
OpenCV图像处理开发实战(9) -- 图像金字塔
1、前言(1)图像金字塔的原理:图像金字塔是图像多尺度表达。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔底部由大尺寸的原图组成,越往上层,尺寸越小,堆叠起来就是一个金字塔的形式。(2)高斯图像金字塔的建立过程:a.在本层图像上作高斯模糊平滑处理,得到平滑后的图像。b.平滑后的图像中...原创 2020-04-15 12:32:57 · 184 阅读 · 0 评论 -
OpenCV图像处理开发实战(8) -- 图像的形态学操作(腐蚀与膨胀)
1、前言(1)腐蚀消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点;(2)膨胀把与物体接触的所有背景点合并到物体中,使目标增大,可知添补目标中的空洞。(3)开运算先腐蚀后膨胀的过程,可以消除图像上道细小的噪声,并平滑物体边界。(4)闭运算先膨胀后腐蚀的过程,可以填充物体内细小的空洞,并平滑物容体边界。(5)梯度运算膨胀结果图像与腐蚀膨胀结果图像的差值图像(6)顶帽运算...原创 2020-04-15 11:40:17 · 452 阅读 · 0 评论 -
OpenCV图像处理开发实战(7) -- 图像平滑/模糊处理
1、前言(1) 图像平滑处理的目的在图像的获取和传输过程中原始图像会受到各种噪声的干扰,使图像质量下降。所以要对图像进行平滑处理消除噪声。 噪声消除的方法又可以分为空间域或频率域,亦可以分为全局处理或局部处 理,亦可以按线性平滑、非线性平滑和自适应平滑来区别。减少噪声的方法可以在空间域或频率域进行处理, 主要有邻域平均法、 中值滤波法、低通滤波法等,邻域平均法即通过提高信噪比,取得较好的平滑...原创 2020-04-14 14:31:05 · 505 阅读 · 0 评论 -
OpenCV图像处理开发实战(6) -- 在图像上画图写字
OpenCV 提供很多绘制线曲线的函数,还有在图像上写字的函数。常用的函数:(1)画线CV_EXPORTS_W void line(InputOutputArray img,Point pt1,Point pt2,const Scalar& color,int thickness = 1,int lineType = LINE_8,int shift = 0);(2)画矩...原创 2020-04-14 13:17:51 · 230 阅读 · 0 评论 -
OpenCV图像处理开发实战(5) -- 图像的亮度调节
通过重新计算颜色分量,可以修改图像的亮度和对比度。graph(x,y) = graph_src(x,y) * alpha + beta#define alpha 1.2 #define beta 20inline uchar brighten(uchar b){ return saturate_cast<uchar>(b*alpha + beta);} for (i...原创 2020-04-14 12:13:30 · 154 阅读 · 0 评论 -
OpenCV图像处理开发实战(4) -- 两幅图片的混合操作
1、addWeighted2、add3、multply原创 2020-04-14 11:21:13 · 255 阅读 · 0 评论 -
OpenCV图像处理开发实战(3) --重要对象Mat的使用
1、创建2、拷贝3、常用的方法原创 2020-04-14 10:36:36 · 188 阅读 · 0 评论 -
OpenCV图像处理开发实战(2) -- 加载图像文件、操作图像数据
1、 加载图像文件2、 显示图像3、操作图像数据原创 2020-04-14 09:29:35 · 198 阅读 · 0 评论 -
OpenCV图像处理开发实战(1) --开发环境搭建(VS2015为例)
1、OpenCV下载:在https://opencv.org/releases/链接下载OpenCV开发库(opencv-3.4.10-vc14_vc15.exe),也可以下载别的版本的库。下载后的结果:解压后的目录结构:2、在VS2015中创建一个基于Dialog的工程:(1)部署OpenCV开发库在工程目录下创建两个目录【OpenCV.Lib】(存放lib文件)和【OpenC...原创 2020-04-13 12:57:23 · 800 阅读 · 0 评论