本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http://www.zhihu.com/people/mao-xing-yun 邮箱: happylifemxy@163.com 写作当前博文时配套使用的OpenCV版本号: 2.4.9 本篇文章中,我们将一起学习Ope…
http://blog.csdn.net/poem_qianmo/article/details/25560901 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http://www.zhihu.com/people/mao-xing-yun 邮箱: happylif…
sobel 算子的基本概念 sobel 算子是一个主要用于边缘检测的离散微分算子,它结合了高斯平滑和微分求导,用于计算图像灰度函数的近似梯度. 其基础来自于一个事实,即在边缘部分,像素值出现“跳跃”或者较大的变化.如果在此边缘部分求取一阶导数,会看到极值的出现.正如下图所示: sobel 算子的计算过程 (1)分别在 x 和 y 两个方向求导 x 方向求导:将源图像与 Gx 进行卷积.对竖线敏感(导数大),横线不敏感(导数小). y 方向求导:将源图像与 Gy 进行卷积.对竖线不敏感(导数小),…
本篇文章中,我们将一起学习OpenCV中边缘检测的各种算子和滤波器——Canny算子,Sobel算子,Laplace算子以及Scharr滤波器.文章中包含了五个浅墨为大家准备的详细注释的博文配套源代码.在介绍四块知识点的时候分别一个,以及最后的综合示例中的一个.文章末尾提供配套源代码的下载. **** 给大家分享一个OpenCv中写代码是节约时间的小常识.其实OpenCv中,不用nameWindow,直接imshow就可以显示出窗口.大家看下文的示例代码就可以发现,浅墨在写代码的时候并没有用na…
图像梯度处理 Sobel算子 水平方向: 对于线条A和线条B,右侧像素值与左侧像素值的差值不为零,因此是边界 上下像素值差值为0,左右素值的差值不为零,分布为正负, 离的近的为2,离的远的为1 P5=(P3-P1)+2(P6-P4)+(P9-P7) 竖直方向: 对于线条A和线条B,上侧像素值与下侧像素值的差值不为零,因此是边界 左右像素值差值为0,上下素值的差值不为零,分布为正负, 离的近的为2,离的远的为1 P5=(P7-P1)+2(P8-P2)+(P9-P3) 在使用时,P5可能是负数,所以…
Sobel变换和拉普拉斯变换都是高通滤波器. 什么是高通滤波器呢?就是保留图像的高频分量(变化剧烈的部分),抑制图像的低频分量(变化缓慢的部分).而图像变化剧烈的部分,往往反应的就是图像的边沿信息了. 1. Sobel算子(主要用于边缘检测) //Sobel变化实例 Mat sobelX; Sobel(image,sobelX,CV_8U,,,,); imshow("X方向Sobel结果",sobelX); Mat sobelY; Sobel(image,sobelY,CV_8U,,,…
1.图像锐化理论基础 1.锐化的概念 图像锐化的目的是使模糊的图像变得清晰起来,主要用于增强图像的灰度跳变部分,这一点与图像平滑对灰度跳变的抑制正好相反.而且从算子可以看出来,平滑是基于对图像领域的加权求和或者说积分运算的,而锐化则是通过其逆运算导数(梯度)或者说有限差分来实现的. 2.图像的一阶微分和二阶微分的性质 图像的锐化也就是增强图像的突变部分,那么我们也就对图像的恒定区域中,突变的开始点与结束点(台阶和斜坡突变)及沿着灰度斜坡处的微分的性质.微分是对函数局部变化率的一种表示,那么对于一…
一.概述 二.canny边缘检测 #include "opencv2/opencv.hpp" using namespace cv; void main() { //Canny边缘检测 Mat srcImg = imread(); //0表示以灰度图读入,彩色图和灰度图进行边缘检测时略有不同,建议使用灰度图 //medianBlur(srcImg, srcImg,5);//中值滤波 imshow("src", srcImg); Mat dstImg; Canny(s…
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { Mat src = imread("test.jpg"); Mat dst, gray,grad_x, gray_y,abs_grad_x,abs_grad_y; //转成灰度图 cvtColor(src, gray…
卷积应用-图像边缘提取 卷积应用-图像边缘提取 边缘是什么 – 是像素值发生跃迁的地方,是图像的显著特征之一, 在图像特征提取.对象检测.模式识别等方面都有重要的作用. 如何捕捉/提取边缘 – 对图像求它的一阶导数 - delta = f(x) – f(x-), delta越大,说明像素在X方向变化越大,边缘信号越强 Sobel算子 是离散微分算子(discrete differentiation operator), 用来计算图像灰度的近似梯度Soble算子功能集合高斯平滑和微分求导 又被称为…