第二章 灰度变换与空间滤波

第二章 灰度变换与空间滤波

灰度变换函数

  • imadjust函数

    g = imadjust(f, [low_in high_in], [low_out high_out], gamma)

    其中f为一个灰度级图片,
    [low_in high_in], [low_out high_out]的值只能在0和1之间,如果使用空矩阵([ ]), 会得到默认值[0 1]。若high_out小于low_out,输出灰度将被反转。
    gamma的值决定了图像g的曲线形状。若gamma的值小于1,则映射被加权至较高(亮)的输出值(曲线上凸),若gamma的值大于1,则映射被加权至较低(暗)的输出值(曲线下凹),若参数缺省,则gamma为1,线性映射。
>> f = imread('cat1.jpg');
>> g1 = imadjust(f, [0 1], [1, 0]);
>> imshow(g1)
![cat1](https://img-blog.csdn.net/20170616215049563?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzgzMTEwNDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) ![cat2](https://img-blog.csdn.net/20170616215120388?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzgzMTEwNDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

imcomplement函数能达到同样的效果

>> g2 = imadjust(f, [0.5 0.75], [0 1]);
>> imshow(g2)
![这里写图片描述](https://img-blog.csdn.net/20170616215713020?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzgzMTEwNDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

此类处理可以用于强调感兴趣灰度区

  • stretchlim函数
    Low_High = stretchlim(f)
    主要用于自适应找到一个分割阈值向量来改变一幅图像的对比度
>> g = imadjust(f, stretchlim(f), [ ]);
>> imshow(g)
![这里写图片描述](https://img-blog.csdn.net/20170616220508102?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzgzMTEwNDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
>> g = imadjust(f, stretchlim(f), [1 0]);
>> imshow(g)
![这里写图片描述](https://img-blog.csdn.net/20170616220744494?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzgzMTEwNDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

对数及对比度拉伸变换

gs = im2uint8(mat2gray(g));
对比度拉伸变换:g = 1./(1 + (m./f).^E)

>> f = imread('D:\picture\素\d1.jpg');
>> imshow(f)
>> g = im2uint8(mat2gray(log(1 + double(f))));
>> imshow(g)
![这里写图片描述](https://img-blog.csdn.net/20170616223407007?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzgzMTEwNDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) ![这里写图片描述](https://img-blog.csdn.net/20170616223429918?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzgzMTEwNDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

实用M函数

  • nargin用于检测输入到M函数的参数数目
  • nargout用于检测M函数的输出个数
  • nargchk用于检测传递的参量的数量是否正确
  • function [m, n] = test(varargin)可接收可变数量的输入
  • function [varargout] = text(m, n, p)可返回可变数量的输出

绘制图像直方图

>> f = imread('cat1.jpg');
>> imhist(f);

这里写图片描述

>> f = imread('cat1.jpg');
>> h = imhist(f, 25);
>> horz = linspace(0, 255, 25);
>> bar(horz, h)

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值