Matlab中图像梯度的计算方式
2016-03-02 15:14
363 查看
在matlab中可以使用gradient来计算一幅图像的梯度,它的计算方式是这样的:
例子:
A是这样一个3*3的矩阵:
7 5 3
1 2 3
8 5 3
那么使用gradient(A)后会得到两个值是个对dF/dx,横向的求偏导,也就是横向的梯度,即左右的梯度;以及dF/dy,纵向偏导,纵向的梯度,也就是上下的梯度。
matlab的实现方式是:横向梯度,就是按列减,第1列的梯度是第2列梯度减去第一列,第2列梯度是第3列减第1列除以2。第3列,就是第3列减去第2列。
这样横向的梯度就是:
-2 -2 -2
1 1 1
-3 -2.5 -2
纵向同一个道理,只是改成按行减了。
得到的应该是这样的:
-6 -3 0
0.5 0 0
7 3 0
例子:
A是这样一个3*3的矩阵:
7 5 3
1 2 3
8 5 3
那么使用gradient(A)后会得到两个值是个对dF/dx,横向的求偏导,也就是横向的梯度,即左右的梯度;以及dF/dy,纵向偏导,纵向的梯度,也就是上下的梯度。
matlab的实现方式是:横向梯度,就是按列减,第1列的梯度是第2列梯度减去第一列,第2列梯度是第3列减第1列除以2。第3列,就是第3列减去第2列。
这样横向的梯度就是:
-2 -2 -2
1 1 1
-3 -2.5 -2
纵向同一个道理,只是改成按行减了。
得到的应该是这样的:
-6 -3 0
0.5 0 0
7 3 0
相关文章推荐
- Matlab的曲线拟合工具箱CFtool使用简介及一种非线性函数的曲线拟合方法(函数公式: k = A*(T^a)*exp(E/T) )
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part6
- matlab文件读取和写入
- 用MATLAB对信号做频谱分析
- matlab V7.0 R14 安装教程
- scatter简单应用
- Matlab找最大连通区域
- Matlab小技巧
- matlab中的并行方法与理解(2):parfor中的变量类型
- MATLAB学习(一)——状态好状态坏,自作自受
- Matlab并行编程方法及理解(1)
- matlab 滤波器设计
- 用MATLAB處理grib2數據
- Matlab去除图片上水印
- 基于ICM的图像切割 MATLAB
- MATLAB 删除元胞数组中空元素
- 通过类比在VS2010中调用Matlab dll文件,实现在Qt Creator中调用Matlab Dll文件
- matlab 基本用法
- 【转载】matlab安装新工具箱(很简单)
- 怎么用matlab标记曲线上符合条件的点