【基础教程】基于matlab图像处理(读写+显示+运算+转换+变换+增强+滤波+分析+统计)【含Matlab源码 144期】

举报
海神之光 发表于 2022/05/29 04:10:13 2022/05/29
【摘要】 1 图像的读入和显示 (1)图像读入 A=imread('文件名',文件格式) [X,map]=imread('文件名') %X代表索引图像矩阵,map为颜色映射表 123 (2)图像显示 im...

1 图像的读入和显示

(1)图像读入

A=imread('文件名',文件格式)

[X,map]=imread('文件名') %X代表索引图像矩阵,map为颜色映射表

  
 
  • 1
  • 2
  • 3

(2)图像显示

image(A);

  
 
  • 1

2 图像写回

A=imwrite('文件名',文件格式)

[X,map]=imwrite('文件名')%注意,当只写文件名时,它应带有扩展名

  
 
  • 1
  • 2
  • 3

3 获取图像信息

info=iminfo('文件名')

  
 
  • 1

4 标准图像显示技术

imshow(I,n)%显示灰度图像,n为灰度级数

imshow(I,[low,high])%[low,high]为图像数据的值域(可为空[ ]imshow(BW)%显示二值图像

imshow(X,map)%显示索引色图像

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5 图像的运算

Z=imadd(X,Y);%图像的加运算,X,Y是输入的两幅图像,其中一个可以是常数

Z=imsubtract(X,Y);%图像的减运算,Y可以是常数

Z=immiltiply(X,y);%图像的乘运算,Y也可以是常数

Z=imdivide(X,y);%图像的除运算,Y也可以是常数

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6 图像的类型转换

RGB=ind2rgb(X,map);%索引图转换为真彩色图

I=mat2gray(A);%将一个数据矩阵转换为灰度图

I=rgb2gray(RGB);%将一副灰度图转换为真彩色图

[X,map]=rgb2ind(RGB,n)%将RGB图转换为索引色图

BW=im2bw(I,level)%将真彩色图或灰度图转换为二值图,level为阈值
BW=im2bw(X,map,level)%将索引色图转换为二值图

I=ind2gray(X,map)%将索引色图转换为灰度图

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

7 傅里叶变换

Y=fft2(x,m,n)%二维离散傅里叶快速变换,x为要进行傅里叶变换的矩阵,m、n是返回的变换矩阵Y的行数和列数。

Y=ifft2(x,m,n)%二维离散傅里叶反变换

Y1=fftshift(Y)%把傅里叶变换操作得到的结果中零频率成分移到矩阵中心,这样利于观察频谱。


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

8 离散余弦变换

D=dct2(A,m,n);%二维离散余弦变换,A是输入图像,B是返回的DCT变换系数,m、n为D的行数和列数

D=idct(A,m,n);%e二维离散余弦逆变换

D=dctmtx(n);%返回DCT变换矩阵

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

9 Radon变换

[R,xp]=radon(I,theta);%I为图像矩阵,theta为角度

I=iradon(R,thrta);%逆Radon变换

  
 
  • 1
  • 2
  • 3

10 图像的增强

imhist(I);%显示一副图像的直方图

J=histeq(I);%直方图均衡化

J=imadjust(I,[low_in;high_in],[low_out;high_out],gamma);%调整图像灰度值

J=adapthisteq(I);%有限对比自适应直方图均衡化

S=decorrestretch(I);%去相关色度拉伸

B=imfilter(A,H,option1,option2,...)
A是输入图像,H是卷积核或相关核,option是一些可选参数。
注:权重矩阵称为卷积核,也称为滤波器。卷积核是相关核旋转180度得到的,可选参数参看help
其中H也用H=fspecial(type,parameters)可自定义

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

11 中值滤波器

B=medfilt2(A,[m,n])%A是输入的图像,[m,n]是邻域的大小

  
 
  • 1

12 自适应滤波器

B=wiener2(A,[m,n])

  
 
  • 1

13 图像的分析

P=impixel(I);%交互式获取图像像素值

P=impixel(I,c,r);%指定点坐标像素值,c、r为行坐标和列坐标

C=improfile(I,xi,yi,n,method);%创建图像强度曲线,n规定了计算图像强度点的个数,xi、yi规定了空间直线端点坐标,method是插值方法(nearest,bilinrar,bicubic)

imcontour(I,n,linespec);%显示图像数据的等值线图

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

14 图像的统计信息

B=mean(A);%计算A的均值

b=std2(A);%计算A的标准差

r=corr2(A,B)%;A,B为输入二维矩阵,r是返回的协方差系数

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

8 备注

版本:2014a

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/112626952

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。