[DIP] 数字图像处理 (MATLAB) CH03
2014-09-09 10:31
148 查看
---慢慢地go through冈萨雷斯的DIP和配套的matlab,记下一些零碎的知识点给自己以后复习。
DIP CH03 亮度变换与空间滤波
矩阵A=[1,2,3;4,5,6]
sum(A,1)对A的第一个维度求和,sum(A,2)对A的第二个维度求和;
prod(A,n),max(A,n),min(A,n),mean(A,n)类似,分别对A的第n个维度求乘积,最大值,最小值和平均值;
默认n=1,所以要对矩阵A所有元素求和,可以sum(sum(A)),相当于sum(sum(A,1),2),当然也可以直接sum(A(:));
[val,idx] = max(A(:))返回A最大值和位置,min类似;
std(A)求标准差用,std(A,Flag,Dim),Dim相当于前边所说的n,默认Flag=0,计算标准差时,均方取平均用N-1去除(N是样本个数),Flag=1时,均方取平均用N去除;
亮度变换
g = imadjust( f, [low_in,high_in], [low_out,high_out], gamma ) --- gamma默认为1,表示线性映射,注意输入输出均在0到1之间,high_out可以比low_out小,表示亮度反转;
g = imcomplement( f ) --- 亮度反转;
直方图
h = imhist( f ) --- 直方图显示,还有其他显示设置方式;
g = histeq( f, 256 ) --- 直方图均衡化,第二个参数是灰度级别最大可能数量,默认为64,通常我们设为256(8-bit),g是直方图均衡化后的图像,用imhist(g)来查看效果;
--- numel(f)为f元素总数(f为图像就得到像素总数了);
--- hnorm = imhist(f)./numel(f)得到归一化直方图(各亮度出现频率), 向量;
--- cdf = cumsum(hnorm),cumsum()对向量实现元素累加,即 cdf(n) = sum(hnorm(1:n)),这样就可以得到亮度转换函数;
g = histeq( f, hspec ) --- 直方图规定化/直方图匹配,hspec是指定的直方图,行向量;
线性空间滤波
w = fspecial( 'type', paras ) --- 构造掩模,常用type有average,gaussian,laplacian,prewitt,soble,而paras则为设置参数,可设置掩模尺寸和分布参数;
g = imfilter( f, w, '**' ) --- 对图像f用掩模w进行滤波操作,**是处理边界方式,常见方式有replicate,symmetric,默认使用0填充;
非线性空间滤波
g = medfilt2( f ) --- 中值滤波;
DIP CH03 亮度变换与空间滤波
矩阵A=[1,2,3;4,5,6]
sum(A,1)对A的第一个维度求和,sum(A,2)对A的第二个维度求和;
prod(A,n),max(A,n),min(A,n),mean(A,n)类似,分别对A的第n个维度求乘积,最大值,最小值和平均值;
默认n=1,所以要对矩阵A所有元素求和,可以sum(sum(A)),相当于sum(sum(A,1),2),当然也可以直接sum(A(:));
[val,idx] = max(A(:))返回A最大值和位置,min类似;
std(A)求标准差用,std(A,Flag,Dim),Dim相当于前边所说的n,默认Flag=0,计算标准差时,均方取平均用N-1去除(N是样本个数),Flag=1时,均方取平均用N去除;
亮度变换
g = imadjust( f, [low_in,high_in], [low_out,high_out], gamma ) --- gamma默认为1,表示线性映射,注意输入输出均在0到1之间,high_out可以比low_out小,表示亮度反转;
g = imcomplement( f ) --- 亮度反转;
直方图
h = imhist( f ) --- 直方图显示,还有其他显示设置方式;
g = histeq( f, 256 ) --- 直方图均衡化,第二个参数是灰度级别最大可能数量,默认为64,通常我们设为256(8-bit),g是直方图均衡化后的图像,用imhist(g)来查看效果;
--- numel(f)为f元素总数(f为图像就得到像素总数了);
--- hnorm = imhist(f)./numel(f)得到归一化直方图(各亮度出现频率), 向量;
--- cdf = cumsum(hnorm),cumsum()对向量实现元素累加,即 cdf(n) = sum(hnorm(1:n)),这样就可以得到亮度转换函数;
g = histeq( f, hspec ) --- 直方图规定化/直方图匹配,hspec是指定的直方图,行向量;
线性空间滤波
w = fspecial( 'type', paras ) --- 构造掩模,常用type有average,gaussian,laplacian,prewitt,soble,而paras则为设置参数,可设置掩模尺寸和分布参数;
g = imfilter( f, w, '**' ) --- 对图像f用掩模w进行滤波操作,**是处理边界方式,常见方式有replicate,symmetric,默认使用0填充;
非线性空间滤波
g = medfilt2( f ) --- 中值滤波;
相关文章推荐
- [DIP] 数字图像处理 (MATLAB) CH05
- [DIP] 数字图像处理 (MATLAB) CH04
- Matlab在数字图像处理中的应用
- 应用MATLAB语言进行数字图像处理 应用MATLAB语言进行数字图像处理
- Matlab学习(一):数字图像处理大作业用到的函数
- matlab数字图像/视频处理基础 第一篇
- Matlab DIP(瓦)ch9形态学图像处理
- 数字图像处理,小波变换一维Mallat算法的C++实现(matlab验证)
- matlab在数字图像处理中的小笔记(1)
- 数字图像处理MATLAB命令汇总
- 经典数字图像处理(matlab 实现)
- 初学matlab和数字图像处理
- matlab 数字图像处理 图像增强 空域 直方图修正
- matlab在数字图像处理笔记(2)
- 直方图和直方图均衡的Matlab完整程序(数字图像处理)
- 数字图像处理--几个MATLAB函数
- Matlab数字数字图像处理函数汇总
- 基于MATLAB的数字图像处理之直方图处理
- Matlab DIP(瓦)ch9形态学图像处理
- 【数字图像处理】pbm/pgm/ppm图片的读写(Matlab)