opencv
obsorb_knowledge
心有不甘,呼唤着我
展开
-
opencv源码 --- Canny边缘检测
步骤:Canny边缘检测是一种非常流行的边缘检测算法,是John Canny在1986年提出的。它是一个多阶段的算法,即由多个步骤构成。1.图像降噪2.计算图像梯度3.非极大值抑制4.阈值筛选opencv源码中,canny边缘检测的过程。首先,图像降噪--进行边缘检测前,我们知道梯度算子可以用于增强图像,本质上是通过增强边缘轮廓来实现的,也就是说是可以检测到边缘的。但是,它们受噪声...原创 2019-12-16 16:16:47 · 853 阅读 · 0 评论 -
opencv学习 边缘检测 --拉普拉斯算子(Laplace)
摘要 Laplace算子作为边缘检测之一,和Sobel算子一样也是工程数学中常用的一种积分变换,属于空间锐化滤波操作。拉普拉斯算子(Laplace Operator)是n维欧几里德空间中的一个二阶微分算子,定义为梯度(▽f)的散度(▽·f)。拉普拉斯算子也可以推广为定义在黎曼流形上的椭圆型算子,称为拉普拉斯-贝尔特拉米算子。(百度百科)基本理论首先,拉普拉斯算子是最简单的各向同性微分...原创 2019-10-14 11:03:28 · 2814 阅读 · 0 评论 -
opencv学习 边缘检测--soble算子
导数与边缘特征看到画红圈的地方了吗,是头发(黑色)和脸部(白色)交界处,也就是图像像素值变化最大处,怎么找出变化最大处呢?如,一条曲线,怎么找变化最大处呢?求一阶导数,当一阶导数最大时,此处就是变化最大处,也就是极值点,最右边的图是中间的一阶导数图。很明显我们图像也可以看着一个函数,对函数求导即可。边缘是什么?是像素值发生跃迁的地方,使图像的显著特征之一。在图像特征提取、对象检查、模式...原创 2019-10-13 18:26:06 · 537 阅读 · 0 评论 -
opencv 掩膜
先介绍一下掩膜操作吧掩膜操作就是对比度的调整,掩膜操作就是重新计算每个像素的像素值,掩膜(mask也被称为 kernel);每个像素实现这个公式 I(i,j) = 5*I(i,j) - [I(i,j-1) + I(i,j+1) + I(i-1,j) + I(i+1,j)],所以边上的像素点不能进行掩膜操作;感觉出来的结果好像就是只有对比度的调整,没有清晰度的调整。等我学了清晰度的...原创 2019-08-19 16:58:26 · 2607 阅读 · 1 评论 -
opencv滤波及C++代码实现(高斯,中值,均值,双边)
图像平滑图像平滑的目的之一是消除噪声,二是模糊图像。从信号频谱的角度来看,信号缓慢变化的部分在频率域表现为低频,迅速变化的部分表现为高频。图像在获取、储存、处理、传输过程中,会受到电气系统和外界干扰而存在一定程度的噪声,图像噪声使图像模糊,甚至淹没图像特征,给分析带来困难。滤波分为 空间域滤波 和 频率域滤波(1)空间域 指的是图像本身 直接对图像中的像素操作...原创 2019-09-03 11:19:22 · 7491 阅读 · 3 评论 -
opencv学习 --- 腐蚀与膨胀 putText()
一、先介绍几个API(1)opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数即是cv::putText()。 void cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point origin, // 文本框的左下角...原创 2019-09-25 11:45:41 · 359 阅读 · 0 评论 -
opencv学习 - 图像处理 形态学操作 开操作、闭操作、形态学梯度、顶帽和黑帽
膨胀、腐蚀、开、闭运算是形态学操作中最基本的操作形态学操作一般针对于二值化图像。腐蚀:在核区域内,选择最小像素值为当前像素值,和最小值滤波类似、不同点:腐蚀的核形状可以是圆形、矩形和十字形等等。腐蚀从图像变化上来看:就是黑吃白(因为选择的是最小值像素值)。膨胀:在核区域内,选择最大像素值为当前像素值,和最大值滤波类似;不同点:同上,膨胀从图像变化上来看:白吃黑(因选最大像素值)。...原创 2019-09-29 16:41:44 · 338 阅读 · 0 评论