Matlab常用图像操作

Matlab常用图像操作

    一 读写图像文件

    1 imread

    imread函数用于读入各种图像文件,如:a=imread('e:/w01.tif')

    注:计算机E盘上要有w01相应的.tif文件。

    2 imwrite

    imwrite函数用于写入图像文件,如:imwrite(a,'e:/w02.tif',’tif’)

    3 imfinfo

    imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:/w01.tif')

    二 图像的显示

    1 image

    image函数是MATLAB提供的最原始的图像显示函数,如:

    a=[1,2,3,4;4,5,6,7;8,9,10,11,12];

    image(a);

    2 imshow

    imshow函数用于图像文件的显示,如:

    i=imread('e:/w01.tif');

    imshow(i);

    3 colorbar

    colorbar函数用显示图像的颜色条,如:

    i=imread('e:/w01.tif');

    imshow(i);

    colorbar;

    4 figure

    figure函数用于设定图像显示窗口,如:figure(1); /figure(2);

    三 图像的变换

    1 fft2

    fft2函数用于数字图像的二维傅立叶变换,如:

    i=imread('e:/w01.tif');

    j=fft2(i);

    2 ifft2

    ifft2函数用于数字图像的二维傅立叶反变换,如:

    i=imread('e:/w01.tif');

    j=fft2(i);

    k=ifft2(j);

    3 利用fft2计算二维卷积

    利用fft2函数可以计算二维卷积,如:

    a=[8,1,6;3,5,7;4,9,2];

    b=[1,1,1;1,1,1;1,1,1];

    a(8,8)=0;

    b(8,8)=0;

    c=ifft2(fft2(a).*fft2(b));

    c=c(1:5,1:5);

    利用conv2(二维卷积函数)校验, 如:

    a=[8,1,6;3,5,7;4,9,2];

    b=[1,1,1;1,1,1;1,1,1];

    c=conv2(a,b);

    四 模拟噪声生成函数和预定义滤波器

    1 imnoise

    imnoise函数用于对图像生成模拟噪声,如:

    i=imread('e:/w01.tif');

    j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声

    2 fspecial

    fspecial函数用于产生预定义滤波器,如:

    h=fspecial('sobel');%sobel水平边缘增强滤波器

    h=fspecial('gaussian');%高斯低通滤波器

    h=fspecial('laplacian');%拉普拉斯滤波器

    h=fspecial('log');%高斯拉普拉斯(LoG)滤波器

    h=fspecial('average');%均值滤波器

    五 图像的增强

    1 直方图

    imhist函数用于数字图像的直方图显示,如:

    i=imread('e:/w01.tif');

    imhist(i);

    2 直方图均化

    histeq函数用于数字图像的直方图均化,如:

    i=imread('e:/w01.tif');

    j=histeq(i);

    3 对比度调整

    imadjust函数用于数字图像的对比度调整,如:

    i=imread('e:/w01.tif');

    j=imadjust(i,[0.3,0.7],[]);

    4 对数变换

    log函数用于数字图像的对数变换,如:

    i=imread('e:/w01.tif');

    j=double(i);

    k=log(j);

    5 基于卷积的图像滤波函数

    filter2函数用于图像滤波,如:

    i=imread('e:/w01.tif');

    h=[1,2,1;0,0,0;-1,-2,-1];

    j=filter2(h,i);

    6 线性滤波

    利用二维卷积conv2滤波, 如:

    i=imread('e:/w01.tif');

    h=[1,1,1;1,1,1;1,1,1];

    h=h/9;

    j=conv2(i,h);

    7 中值滤波

    medfilt2函数用于图像的中值滤波,如:

    i=imread('e:/w01.tif');

    j=medfilt2(i);

    8 锐化

    (1)利用Sobel算子锐化图像, 如:

    i=imread('e:/w01.tif');

    h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子

    j=filter2(h,i);

    (2)利用拉氏算子锐化图像, 如:

    i=imread('e:/w01.tif');

    j=double(i);

    h=[0,1,0;1,-4,0;0,1,0];%拉氏算子

    k=conv2(j,h,'same');

    m=j-k;

    六 举例

    二维傅立叶变换和二维傅立叶反变换:

    i=imread('e:/w01.tif');

    figure(1);

    imshow(i);

    colorbar;

    j=fft2(i);

    k=fftshift(j);

    figure(2);

    l=log(abs(k));

    imshow(l,[]);

    colorbar

    n=ifft2(j)/255;

    figure(3);

    imshow(n);

    colorbar;
 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superdont

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值