第6章 图像变换/Sobel导数
来源:互联网 发布:stc单片机 宏晶 编辑:程序博客网 时间:2024/04/28 15:06
第6章 图像变换/Sobel导数
//r
//2010-11-15 21:48:57
Sobel
使用扩展 Sobel 算子计算一阶、二阶、三阶或混合图像差分
void cvSobel( const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size=3 );
- src
- 输入图像.
- dst
- 输出图像.
- xorder
- x 方向上的差分阶数
- yorder
- y 方向上的差分阶数
- aperture_size
- 扩展 Sobel 核的大小,必须是 1, 3, 5 或 7。 除了尺寸为 1, 其它情况下, aperture_size ×aperture_size 可分离内核将用来计算差分。对 aperture_size=1的情况, 使用 3x1 或 1x3 内核 (不进行高斯平滑操作)。这里有一个特殊变量 CV_SCHARR (=-1),对应 3x3 Scharr 滤波器,可以给出比 3x3 Sobel 滤波更精确的结果。Scharr 滤波器系数是:
- 对 x-方向 以及转置矩阵对 y-方向。
函数 cvSobel 通过对图像用相应的内核进行卷积操作来计算图像差分:
由于Sobel 算子结合了 Gaussian 平滑和微分,所以,其结果或多或少对噪声有一定的鲁棒性。通常情况,函数调用采用如下参数 (xorder=1, yorder=0, aperture_size=3) 或 (xorder=0, yorder=1, aperture_size=3) 来计算一阶 x- 或 y- 方向的图像差分。第一种情况对应:
核。
第二种对应:
或者
核的选则依赖于图像原点的定义 (origin 来自 IplImage 结构的定义)。由于该函数不进行图像尺度变换,所以和输入图像(数组)相比,输出图像(数组)的元素通常具有更大的绝对数值(译者注:即象素的深度)。为防止溢出,当输入图像是 8 位的,要求输出图像是 16 位的。当然可以用函数 cvConvertScale 或 cvConvertScaleAbs 转换为 8 位的。除了 8-比特 图像,函数也接受 32-位 浮点数图像。所有输入和输出图像都必须是单通道的,并且具有相同的图像尺寸或者ROI尺寸。
这里值得一提的是:Scharr滤波器
CV_SCHARR (值为-1)
Scharr滤波器捅soble滤波器一样快,但是准确率更好,所以当你利用3*3滤波器实现图像度量的时候应该使用Scharr滤波器。Scharr滤波器的滤波系数
-3 0 3
-10 0 10
-3 0 3
-3-10-30003103
- 第6章 图像变换/Sobel导数
- 第六章 - 图像变换 -梯度和Sobel导数(cvSobel)
- 第六章 - 图像变换 -梯度和Sobel导数(cvSobel)
- 图像变换 -梯度和Sobel导数(cvSobel)
- 第6章/图像变换
- 图像变换 - sobel算子(cvSobel)
- opencv-第六章-图像变换之sobel算子
- Sobel 导数
- sobel导数
- 图像增强之(二) --- sobel变换
- 差分近似图像导数算子之Sobel算子
- 差分近似图像导数算子之Sobel算子
- 第10章 图像变换-图像傅里叶变换
- Sobel变换
- opencv sobel导数
- OpenCV学习Sobel 导数
- 梯度和Sobel导数
- 梯度和Sobel导数
- 让Android也支持华为EM770模块
- DCT的心得(转自firsttime)
- 小学生
- use paoding chinese word segmentation in solr
- VC中使用ADO操作数据库的方法
- 第6章 图像变换/Sobel导数
- 一个未完工的分析
- XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
- POJ 1125 Stockbroker Grapevine
- winform如何这样操控xml文件
- Linux 内核的WorkQueues API做了修改
- 百度的搜索引擎又一次调整了
- 神一般的const
- CrystalReport 2008 发布时出现 1455942 错误