我们利用相关度来判定所得图像的质量,图像的相关度定义为上式。
其中A m,n和Bm,n 分别是图像 A和图像B中(m,n)点的灰度值。
Matlab 图像处理相关函数命令大全
一、通用函数:
colorbar 显示彩色条
语法:colorbar \ colorbar('vert') \ colorbar('horiz') \
colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle)
getimage 从坐标轴取得图像数据
语法:A=getimage(h) \ [x,y,A]=getimage(h) \
[...,A,flag]=getimage(h) \ [...]=getimage
imshow 显示图像
语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \
imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \
imshow filename \ h=imshow(...)
montage 在矩形框中同时显示多幅图像
语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB)
\ h=montage(...)
immovie 创建多帧索引图的电影动画
语法:mov=immovie(X,map) \ mov=immovie(RGB)
subimage 在一副图中显示多个图像
语法:subimage(X,map) \ subimage(I) \ subimage(BW) \
subimage(RGB) \ subimage(x,y,...) \ subimage(...)
truesize 调整图像显示尺寸
语法:truesize(fig,[mrows mcols]) \ truesize(fig)
warp 将图像显示到纹理映射表面
语法:warp(X,map) \ warp(I ,n) \ warp(z,...) warp(x,y,z,...)
\ h=warp(...)
zoom 缩放图像
语法:zoom on \ zoom off \ zoom out \ zoom reset \ zoom \ zoom
xon \ zoom yon\ zoom(factor) \ zoom(fig,option)
二、图像文件I/O函数命令
imfinfo 返回图形图像文件信息
语法:info=imfinfo(filename,fmt) \
info=imfinfo(filename)
imread 从图像文件中读取(载入)图像
语法:A=imread(filename,fmt) \ [X,map]=imread(filename,fmt) \
[...]=imread(filename) \ [...]=imread(URL,...) \ [...]=imread(...,idx)
(CUR,ICO,and TIFF only) \ [...]=imread(...,'frames',idx) (GIF only) \
[...]=imread(...,ref) (HDF only) \ [...]=imread(...,'BackgroundColor',BG) (PNG
only) \ [A,map,alpha] =imread(...) (ICO,CUR,PNG only)
imwrite 把图像写入(保存)图像文件中
语法:imwrite(A,filename,fmt) \ imwrite(X,map,filename,fmt) \
imwrite(...,filename) \ imwite(...,Param1,Val1,Param2,Val2...)
imcrop 剪切图像
语法:I2=imcrop(I) \ X2=imcrop(X,map) \ RGB2=imcrop(RGB) \
I2=imcrop(I,rect) \ X2=imcrop(RGB,rect) \ [...]=imcrop(x,y,...) \
[A,rect]=imcrop(...) \ [x,y,A,rect]=imcrop(...)
imresize 改变图像大小
语法:B=imresize(A,m,method)
imrotate 旋转图像
语法:B=imrotate(A,angle,method) \
B=imrotate(A,angle,method,'crop')
三、像素和统计处理函数
corr2 计算两个矩形的二维相关系数
语法:r=corr2(A,B)
imcontour 创建图像数据的轮廓图
语法:imcontour(I,n) \ imcontour(I,v) \ imcontour(x,y,...) \
imcontour(...,LineSpec) \ [C,h] =imcontour(...)
imfeature 计算图像区域的特征尺寸
语法:stats=imfeature(L,measurements) \
stats=imfeature(L,measurements,n)
imbist 显示图像数据的柱状图
impixel 确定像素颜色值
语法:P=impixel(I) \ P=impixel(X,map) \ P=impixel(RGB) \
P=impixel(I,c,r) \ P=impixel(X,map,c,r) \ P=impixel(RGB,c,r) \
[c,r,P]=impixel(...) \ P=impixel(x,y,I,xi,yi) \ P=impixel(x,y,RGB,xi,yi) \
P=impixel(x,y,X,map,xi,yi) \
[xi,yi,P]=impixel(x,y,...)
improfile
沿线段计算剖面图的像素值
语法:c=improfile \ c=improfile(n) \ c=improfile(I,xi,yi) \
c=improfile(I,xi,yi,n) \ [cx,cy,c]=improfile(...) \
[cx,cy,c,xi,yi]=improfile(...) \ [...]=improfile(x,y,I,xi,yi) \
[...]=improfile(x,y,I,xi,yi,n) \ [...]=improfile(...,method)
mean2 计算矩阵元素的平均值
语法:B=mean2(A)
pixval 显示图像像素信息
语法:pixval on
std2 计算矩阵元素的标准偏移
语法:b=std2(A)
四、图像分析函数:
edge 图像边缘检测
语法:BW=edge(I,'sobel') \ BW=edge(I,'sobel',thresh) \
BW=edge(I,'sobel',thresh,direction) \ [BW,thresh]=edge(I,'sobel',...) \
BW=edge(I,'prewitt') \ BW=edge(I,'prewitt',thresh) \
BW=edge(I,'prewitt',thresh,direction) \
[BW,thresh]=edge(I,'prewitt',...) \
BW=edge(I,'roberts') \ BW=edge(I,'roberts',thresh) \ [BW,thresh]=edge(I,'roberts',...) \ BW=edge(I,'log') \
BW=edge(I,'log',thresh) \ BW=edge(I,'log',thresh,sigma) \
[BW,threshold]=edge(I,'log',...) \ BW=edge(I,'zerocross',thresh,h) \
[BW,thresh]=edge(I,'zerocross',...) \
BW=edge(I,'canny') \ BW=edge(I,'canny',thresh) \
BW=edge(I,'canny',thresh,sigma) \ [BW,threshold]=edge(I,'canny',...)
qtgetblk 获取四叉树分解的块值
语法:[vals,r,c]=qtgetblk(I,S,dim) \
[vals,idx]=qtgetblk(I,S,dim)
qtsetblk 设置四叉树分解中的块值
语法:J=qtsetblk(I,S,dim,vals)
五、图像增强函数
histeq 用柱状图均等化增强对比
语法:J=histeq(I,hgram) \ J=histeq(I,n) \ [J,T]=histeq(I,...) \
newmap=histeq(X,map,hgram) \ newmap=histeq(X,map)
imadjust 调整图像灰度值或颜色映像表
语法:J=imadjust(I,[low_in ,high_in]),[low_out
,high_out],gamma) \ newmap=imadjust(map,[low_in ,high_in]),[low_out
,high_out],gamma) \ RGB2=imadjust(RGB1,...)
imnoise 增强图像的渲染效果
语法:J=imnoise(I,type) \
J=imnoise(I,type,parameters)
medfilt2 进行二维中值过滤
语法:B=medfilt2(A,[m n]) \ B=medfilt2(A) \
B=medfilt2(A,'indexed',...)
ordfilt2 进行二维统计顺序过滤
语法:B=ordfilt2(A,order,domain) \ B=ordfilt2(A,order,domain,S)
\ B=ordfilt2(...,padopt)
wiener2 进行二维适应性去噪过滤处理
语法:J=wiener2(I,[m n],noise) \ [J,noise]=wiener2(I,[m
n])
六、线性滤波函数
conv2 进行二维卷积操作
语法:C=conv2(A,B) \ C=conv2(hcol,hrow,A) \
C=conv2(...,'shape')
convmtx2 计算二维卷积矩阵
语法:T=convmtx2(H,m,n) \ T=convmtx2(H,[m n])
convn 计算n维卷积
语法:C=convn(A,B) \ C=convn(A,B,'shape')
filter2 进行二维线性过滤操作
语法:Y=filter2(h,X) \ Y=filter2(h,X,shape)
fspecial 创建预定义过滤器
语法:h=fspecial(type) \ h=fspecial(type,parameters)
七、线性二维滤波设计函数
freqspace 确定二维频率响应的频率空间
语法:[f1,f2]=freqspace(n) \ [f1,f2]=freqspace([m n]) \ [x1
,y1]=freqspace(...,'meshgrid') \ f=freqspace(N) \
f=freqspace(N,'whole')
freqz2 计算二维频率响应
语法:[H,f1,f2]=freqz2(h,n1,n2) \ [H,fi,f2]]=freqz2(h,[n2,n1])
\ [H,fi,f2]]=freqz2(h,f1,f2]) \ [H,fi,f2]]=freqz2(h) \ [...]=freqz2(h,...,[dx dy]) \ [...]=freqz2(h,...,dx) \
freqz2(...)
我想,你应该首先知道如何用matlab读入一幅图像,
然后知道如何存储
你需要在存储的数据中提取哪些信息(比如你所说的灰度级)
如何处理这些信息(比如求各个方向的分量)
然后求图像相关,你作为通信的学生应该就了解了吧,搜一下,matlab也有些现成可以使用的函数的。
你好,我今年也做这个呢,你懂了吗?懂的话能告诉我吗?454239345