搜档网
当前位置:搜档网 › Matlab图像处理函数汇总

Matlab图像处理函数汇总

Matlab图像处理函数汇总
Matlab图像处理函数汇总

Matlab图像处理函数汇总:

1、图像的变换

①fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif');

j=fft2(i);

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

i=imread('104_8.tif');

j=fft2(i);

k=ifft2(j);

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

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

i=imread('104_8.tif');

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

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

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

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

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

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

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

2、图像的增强

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

i=imread('104_8.tif');

imhist(i);

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

i=imread('104_8.tif');

j=histeq(i);

③对比度调整:imadjust函数用于数字图像的对比度调整,如:i=imread('104_8.tif'); j=imadjust(i,[0.3,0.7],[]);

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

i=imread('104_8.tif');

j=double(i);

k=log(j);

⑤基于卷积的图像滤波函数:filter2函数用于图像滤波,如:i=imread('104_8.tif');

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

j=filter2(h,i);

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

i=imread('104_8.tif');

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

h=h/9;

j=conv2(i,h);

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

i=imread('104_8.tif');

j=medfilt2(i);

⑧锐化

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

i=imread('104_8.tif');

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

j=filter2(h,i);

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

i=imread('104_8.tif');

j=double(i);

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

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

m=j-k;

3、图像边缘检测

①sobel算子如:

i=imread('104_8.tif');

j = edge(i,'sobel',thresh)

②prewitt算子如:

i=imread('104_8.tif');

j = edge(i,'prewitt',thresh)

③roberts算子如:

i=imread('104_8.tif');

j = edge(i,'roberts',thresh)

④log算子如:

i=imread('104_8.tif');

j = edge(i,'log',thresh)

⑤canny算子如:

i=imread('104_8.tif');

j = edge(i,'canny',thresh)

⑥Zero-Cross算子如:

i=imread('104_8.tif');

j = edge(i,'zerocross',thresh)

4、形态学图像处理

①膨胀:是在二值化图像中“加长”或“变粗”的操作,函数imdilate执行膨胀运算,如:

a=imread('104_7.tif'); %输入二值图像

b=[0 1 0;1 1 1;0 1 0];

c=imdilate(a,b);

②腐蚀:函数imerode执行腐蚀,如:

a=imread('104_7.tif'); %输入二值图像

b=strel('disk',1);

c=imerode(a,b);

③开运算:先腐蚀后膨胀称为开运算,用imopen来实现,如:

a=imread('104_8.tif');

b=strel('square',2);

c=imopen(a,b);

④闭运算:先膨胀后腐蚀称为闭运算,用imclose来实现,如:

a=imread('104_8.tif');

b=strel('square',2);

c=imclose(a,b);

一、通用函数:

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(...)

fsamp2 用频率采样法设计二维FIR过滤器

语法:h=fsamp2(Hd) \ h=fsamp2(f1,f2,Hd,[m n])

ftrans2 通过频率转换设计二维FIR过滤器

语法:h=ftrans2(b,t) \ h=ftrans2(b)

fwind1 用一维窗口方法设计二维FIR过滤器

语法:h=fwind1(Hd,win) \ h=fwind1(Hd,win1,win2) \ h=fwind1(f1,f2,Hd,...)

fwind2 用二维窗口方法设计二维FIR过滤器

语法:h=fwind2(Hd,win) \ h=fwind2(f1,f2,Hd,win)

八、图像变换函数

dct2 进行二维离散余弦变换(反余弦变换用idct2)

语法:B=dct2(A) \ B=dct2(A,m.n) \ B=dct2(A,[m n])

dctmtx 计算离散余弦傅立叶变换

语法:D=dctmtx(n)

fft2 进行二维快速傅立叶变换(反变换用ifft2)

语法:Y=fft2(X) \ Y=fft2(X,m,n)

fftn 进行n维快速傅立叶变换(反变换用ifftn)

语法:Y=ffn(X) \ Y=fftn(X,siz)

fftshift 快速傅立叶变换的DC组件移到光谱中心

语法:Y=fftshift(X) \ Y=fftshift(X,dim)

iradon 进行反radon变换

语法:I=iradon(P,theta) \ I=iradon(P,theta,interp,filter,d,n) \ [I,h]=iradon(...)

phantom 产生一个头部幻影图像

语法:P=phantom(def,n) \ P=phantom(E,n) \ [P,E]=phantom(...)

radon 计算radon变换

语法:R=radon(I,theta) \ [R,xp]=radon(...)

九、边沿和块处理函数

bestblk 确定进行块操作的块大小

语法:siz=bestblk([m n],k) \ [mb,nb]=bestblk([m n],k)

blkproc 实现图像的显示块操作

语法:B=blkproc(A,[m n]),fun) \ B=blkproc(A,[m n],fun,P1,P2,...) \ B=blkproc(A,[m n],[mborder nborder],fun,...)

col2im 将矩阵的列重新组织到块中

语法:A=col2im(B,[m n],[mm nn],block_type) \ A=col2im(B,[m n],[mm nn])

colfilt 利用列相关函数进行边沿操作

语法:B=colfilt(A,[m n],block_type,fun) \ B=colfilt(A,[m n],block_type,fun,P1,P2,...) \ B=colfilt(A,[m n],[mblock nblock],...) \ B=colfilt(A,'indexed',...)

im2col 重调图像块为列

语法:B=im2col(A,[m n],block_type) \ B=im2col(A,[m n]) \ B=im2col(A,'indexed',...)

nlfilter 进行边沿操作

语法:B=nlfilter(A,[m n],fun) \ B=nlfilter(A,[m n],fun,P1,P2,...) \ B=nlfilter(A,'indexed',...)

十、二进制图像操作函数

applylut 在二进制图像中利用lookup表进行行边沿操作

语法:A=applylut(BW,LUT)

bwarea 计算二进制图像对象的面积

语法:total=bwarea(BW)

bweuler 计算二进制图像的欧拉数

语法:eul=bweuler(BW)

bwfill 填充二进制图像的背景色

语法:BW2=bwfill(BW1,c,r,n) \ BW2=bwfill(BW1,n) \ [BW2,idx]=bwfill(...) \

BW2=bwfill(x,y,BW1,xi,yi,n) \ [x,y,BW2,idx,xi,yi]=bwfill(...) \ [BW2,idx]=bwfill(BW1,'holes',n) bwlabel 标注二进制图像中已连接的部分

语法:L=bwlabel(BW,n) \ [L,num]=bwlabel(BW,n)

bwmorph 提取二进制图像的轮廓

语法:BW2=bwmorph(BW1,operation) \ BW2=bwmorph(BW1,operation,n)

bwperim 计算二进制图像中对象的周长

语法:BW2=bwperim(BW1) \ BW2=bwperim(BW1,CONN)

bwselect 在二进制图像中选择对象

语法:BW2=bwselect(BW1,c,r,n) \ BW2=bwselect(BW1,n) \ [BW2,idx]=bwselect(...) \

BW2=bwselect(x,y,BW1,xi,yi,n) \ [x,y,BW2,idx,xi,yi]=bwselect(...)

dilate 放大二进制图像

语法:BW2=dilate(BW1,SE) \ BW2=dilate(BW1,SE,alg) \ BW2=dilate(BW1,SE,...,n)

erode 弱化二进制图像的边界

语法:BW2=erode(BW1,SE) \BW2=erode(BW1,SE,alg) \ BW2=erode(BW1,SE,...,n)

makelut 创建一个用于applylut函数的lookup表

语法:lut=makelut(fun,n) \ lut=makelut(fun,n,P1,P2,...)

十一、区域处理函数

roicolor 选择感兴趣的颜色区

语法:BW=roicolor(A,low,high) \ BW=rocicolor(A,v)

roifill 在图像的任意区域中进行平滑插补

语法:J=roifill(I,c,r) \ J=roifill(I) \ J=roifill(I,BW) \ [J,BW]=roifill(...) \ J=roifill(x,y,I,xi,yi) \

[x,y,J,BW,xi,yi]=roifill(...)

roifilt2 过滤敏感区域

语法:J=roifilt2(h,I,BW) \ J=roifilt2(I,BW,fun) \ J=roifilt2(I,BW,fun,P1,P2,...)

roipoly 选择一个敏感的多边形区域

语法:BW=roipoly(I,c,r) \ BW=roipoly(I) \ BW=roipoly(x,y,I,xi,yi) \ [BW,xi,yi]=roipoly(...) \

[x,y,BW,xi,yi]=roipoly(...)

十二、颜色映像处理函数

brighten 增加或降低颜色映像表的亮度

语法:brighten(beta) \ brighten(h,beta) \ newmap=brighten(beta) \ newmap=brighten(cmap,beta) cmpermute 调整颜色映像表中的颜色

语法:[Y,newmap]=cmpermute(X,map) \ [Y,newmap]=cmpermute(X,map,index)

cmunigue 查找颜色映像表中特定的颜色及相应的图像

语法:[Y,newmap]=cmunigue(X,map) \ [Y,newmap]=cmunigue(RGB) \ [Y,newmap]=cmunique(I) imapprox 对索引图像进行近似处理

语法:[Y,newmap]=imapprox(X,map,n) \ [Y,newmap]=imapprox(X,map,tol) \

Y=imapprox(X,map,newmap) \[...]=imapprox(...,dither_option)

rgbplot 划分颜色映像表

语法:rgbplot(cmap)

十三、颜色空间转换函数

hsv2rgb 转换HSV值为RGB颜色空间:M=hsv2rgb(H)

ntsc2rgb 转换NTSC值为RGB颜色空间:rgbmap=ntsc2rgb(yiqmap) \ RGB=ntsc2rgb(YIQ) rgb2hsv 转换RGB值为HSV颜色空间:cmap=rgb2hsv(M)

rgb2ntsc 转换RGB值为NTSC颜色空间:yiqmap=rgb2ntsc(rgbmap) \ YIQ=rgb2ntsc(RGB)

rgb2ycbcr 转换RGB值为YCbCr颜色空间:ycbcrmap=rgb2ycbcr(rgbmap) \

YCBCR=rgb2ycbcr(RGB)

ycbcr2rgb 转化YCbCr值为RGB颜色空间:rgbmap=ycbcr2rgb(ycbcrmap) \

RGB=ycbcr2rgb(YCBCR)

十四、图像类型和类型转换函数

dither 通过抖动增加外观颜色分辨率转换图像

语法:X=dither(RGB,map) \ BW=dither(I)

gray2ind 转换灰度图像为索引图像

语法:[X,map]=gray2ind(I,n) \ [X,map]=gray2ind(BW,n)

grayslice 从灰度图像为索引图像

语法:X=grayslice(I,n) \ X=grayslice(I,v)

im2bw 转换图像为二进制图像

语法:BW=im2bw(I,level) \ BW=im2bw(X,map,level) \ BW=im2bw(RGB,level)

im2double 转换图像矩阵为双精度型

语法:I2=im2double(I1) \ RGB2=im2double(RGB1) \ I=im2double(BW) \

X2=im2double(X1,'indexed')

double 转换数据为双精度型

语法:double(X)

unit8 、unit16转换数据为8位、16位无符号整型:i=unit8(x) \ i=unit16(x)

im2unit8 转换图像阵列为8位无符号整型

语法:I2=im2unit8(I1) \ RGB2=im2unit8(RGB1) \ I=im2unit8(BW) \ X2=im2unit8(X1,'indexed')

im2unit16 转换图像阵列为16位无符号整型

语法:I2=im2unit16(I1) \ RGB2=im2unit16(RGB1) \ I=im2unit16(BW) \ X2=im2unit16(X1,'indexed') ind2gray 把检索图像转化为灰度图像

语法:I=ind2gray(X,map)

ind2rgb 转化索引图像为RGB真彩图像

语法:RGB=ind2rgb(X,map)

isbw 判断是否为二进制图像

语法:flag=isbw(A)

isgray 判断是否为灰度图像

语法:flag=isgray(A)

isind 判断是否为索引图像

语法:flag=isind(A)

isrgb 判断是否为RGB真彩色图像

语法:flag=isrgb(A)

mat2gray 转换矩阵为灰度图像

语法:I=mat2gray(A,[amin amax]) \ I=mat2gray(A)

rgb2gray 转换RGB图像或颜色映像表为灰度图像

语法:I=rgb2gray(RGB) \ newmap=rgb2gray(map)

rgb2ind 转换RGB图像为索引图像

语法:[X,map]=rgb2ind(RGB,tol) \ [X,map]=rgb2ind(RGB,n) \ X=rgb2ind(RGB,map) \ [...]=rgb2ind(...,dither_option)

十五、新增图像处理工具箱函数

adapthisteq 限制对比度直方图均衡化: J=adapthisteq(I) \

J=adapthisteq(I,param1,val1,param2,val2...)

applycform 用于颜色空间变换out=applyform(I,C)

bwboundaries 描绘二进制图像边界

语法: B=bwboundaries(BW) \ B=bwboundaries(BW,CONN) \

B=bwboundaries(BW,CONN,options) [BW,CONN,options] \ [BL]=bwboundaries(...) \ [BLNA]=bwboundaries()

bwtraceboundary 描述二进制图像中的物体

B=bwtraceboundary(BW,P,fstep) \ B=bwtraceboundary(BW,P,fstep,CONN) \

B=bwtraceboundary(...N,dir)

decorrstrech 对多通道图像进行去相关处理

语法:S=decorrstretch(I) \ S=decorrstretch(I,TOL)

dicomdict 获取或读取DICOM文件

语法:dicomdict('set',dictionary) \ dictionary=dicomdict('get')

getline 用鼠标选择ployline

语法:[x,y]=getline(fig) \ [x,y]=getline(ax) \ [x,y]=getline \ [x,y]=getline(...,'closed') getpts 用鼠标选择像素点

语法:[x,y]=getpts(fig) \ [x,y]=getpts(ax) \ [x,y]=getpts

getrect 用鼠标选择矩阵

语法:rect=getrect(fig) \ rect=getrect(ax) \ rect=getrect(fig)

iccread 读取ICC剖面

语法:P=iccread(filename)

im2java2d 将图像转换为Java缓冲图像

语法:jimage=im2java2d(I) \ jimage=im2java2d(X,MAP)

imview 在图像与蓝旗中显示图像

语法:imview(I) \ imview(RGB) \ imview(X,map) \imview(I,range) \ imview(filename) \ imview(....'InitialMagnification',initial_mag) \ h=imview(...) \ imview close all

ippl 检查IPPL的存在

语法:TF=ippl \ [TF B]=ippl

iptdemos 显示图像处理工具箱中的索引图像

lab2double、lab2unit16、lab2unit8 将L*a*b数据分别转换为双精度、16位数据、8位数据

makecform 创造一个色彩转换结构

poly2mask 把多边形区域转换成mask区域

语法:BW=poly2mask(x,y,m,n)

unitlut 查找表中A像素值

语法:B=unitlut(A,LUT)

xyz2double、xyz2unit16 将颜色数据从XYZ转换到双精度、16进制。

语法:xyzd=xyz2double(XYZ) \ xyz16=xyz2unit16(xyz)

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

基于MATLAB的图像处理

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像滤波设计 初始条件:1.MATLAB软件 2.滤波器处理相关函数 要求完成的主要任务: (1)读入图像并分别加入高斯噪声、椒盐噪声和乘性噪声,并比较结果。 (2)设计巴特沃斯低通滤波对图像进行低通滤波处理,显示结果。 (3)设计高斯高通滤波器对图像进行处理,显示结果。 (4)采用维纳滤波和中值滤波对图像进行处理,显示结果 参考书: 1.《信号与系统》第一版刘泉江雪梅主编高等教育出版社 2.《数字图像处理》MATLAB版冈萨雷斯主编电子工业出版社 时间安排: 第15周:任务安排、分组 第16周:理论设计及仿真 第18周:撰写设计报告及答辩 指导教师签名:年月日系主任(或责任教师)签名:年月日

摘要 (3) 1.MATLAB简介 (5) 1.1 MATLAB的概况 (5) 1.2 MATLAB产生的历史背景 (5) 2.编程及运行结果 (7) 2.1常见基本运算 (7) 2.1.1极限的计算 (7) 2.1.2微分的计算 (7) 2.1.3积分的计算 (8) 2.1.4级数的计算 (9) 2.1.5求解代数方程 (10) 2.1.6求解常微分方程 (10) 2.2 矩阵基本计算 (11) 2.2.1矩阵的最大值 (11) 2.2.2矩阵的最小值 (11) 2.2.3矩阵的均值 (12) 2.2.4矩阵的方差 (13) 2.2.5矩阵的转置 (13) 2.2.6矩阵的逆 (14) 2.2.7矩阵的行列式 (15) 2.2.8矩阵的特征值计算 (15) 2.2.9矩阵的相乘 (16) 2.2.10矩阵的右除和左除 (17) 2.2.11矩阵的幂运算 (18) 2.3 多项式基本计算 (18) 2.3.1多项式加减运算 (18) 2.3.2多项式乘除运算 (19) 2.3.3多项式求导 (20) 2.3.4求根和求值运算 (20) 2.3.5多项式的部分分式展开 (21) 2.3.6多项式的拟合 (22) 2.3.7插值运算 (23) 3.基于MATLAB的图像滤波设计 (25) 3.1读入图像并分别加入高斯噪声、椒盐噪声和乘性噪声,并比较结果 (25) 3.2设计巴特沃斯低通滤波对图像进行低通滤波处理,显示结果 (29) 3.2.1叠加椒盐噪声的巴特沃斯低通滤波 (29) 3.2.2叠加高斯噪声的巴特沃斯低通滤波 (31) 3.2.3叠加乘性噪声的巴特沃斯低通滤波 (32) 3.3用MATLAB实现高斯高通滤波器对图像的处理 (33) 3.4维纳滤波和中值滤波对图像进行处理 (35) 4.总结 (38) 参考文献 (39)

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) \

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

MATLAB图象处理函数

MATLAB图象处理函数 1. 图象文件处理 I=imread(filename)_______读入图象文件到内部矩阵图象变量(以后简称图象) imwrite(I,filename)_______将指定图象写到磁盘的图象文件(以后简称图象文件)上imfinfo(filename)_______显示图象文件的信息 2. 图象显示 2.1 基本显示 imshow filename______直接在当前窗口显示图象文件 imshow(I)______在当前窗口显示指定图象 rgb = getimage______将当前窗口显示的图象读入到矩阵图象变量 2.2 多幅图象的显示 figure;imshow(I,map)______在新的图象窗口上显示指定图象(多幅图象显示在不同的图象窗口上) subplot(m,n,p);imshow(I,map)____在图象窗口的指定位置上显示指定图象(多幅图象显示在同一个图象窗口上)[会因不同图象的map不同而用完系统颜色导致显示出错(尤 其是8bit显示系统上)] subplot(m,n,p);subimage(I,map)____在图象窗口的指定位置上显示指定图象(多幅图象显示在同一个图象窗口上)[subimage先将图象转化为RGB图象然后再显示,因而不同 图象的map不同而用完系统颜色导致显示出错] 2.3 图象显示的放大和缩小 (1)用图象窗口的工具按钮实现[略] (2)用命令窗口的函数实现 zoom on______允许进行放大和缩小 zoom in______对图象进行放大 zoom out_____对图象进行缩小 zoom off_____禁止进行放大和缩小 3. 图象的运算 Z = imabsdiff(X,Y) _____求两图象差的绝对值 Z = imadd(X,Y) _____图象相加 IM2 = imcomplement(IM) _____求图象的补 Z = imdivide(X,Y) _____两图象对应象素相除或图象除以常数 Z = imlincomb(K1,A1,K2,A2,...,Kn,An) _____计算一系列图象的线性组合图象 Z = immultiply(X,Y) _____两图象对应象素相乘或图象乘以常数 Z = imsubtract(X,Y) _____图象相减 4. 图象处理 在MATLAB中,图象是以矩阵的形式存放的,二值图象、灰度图象和索引(Indexed)图象用二维矩阵存放,彩色(RGB)图象用三维矩阵存放。前一类图象可以通过双下标访问图象

matlab函数名称总结

一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键Ctrl+P 返回前一行输入 方向下键Ctrl+N 返回下一行输入 方向左键Ctrl+B 光标向后移一个字符 方向右键Ctrl+F 光标向前移一个字符 Ctrl+方向右键 Ctrl+R 光标向右移一个字符 Ctrl+方向左键 Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减, *:乘, /:除,\:左除 ^:幂,':复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数) log( ) 对数 acos( ) 余正弦(返回弧度) log10( ) 以10为底对数 acosd( ) 余正弦(返回度数) sqrt( ) 开方 tan( ) 正切(变量为弧度) realsqrt( ) 返回非负根 tand( ) 正切(变量为度数) abs( ) 取绝对值 atan( ) 反正切(返回弧度) angle( ) 返回复数的相位角

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像imread Syntax: A = imread(, fmt) :指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到所制定的文件,会尝试查找一个名为的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含RGB 真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow() himage = imshow(...)

●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像素在图像中出现的概率。 图像的灰度直方图:是一个离散函数,表示图像每一灰度级与该灰度级出现概率的对应关系。 图像的灰度直方图运算: imhist()函数,其横坐标表示像素的灰度级别,纵坐标为像素点的个数。 ●Imhist函数=Display histogram of image data显示灰度直方图的函数 ●Syntax: ①imhist(I) % I为要计算的灰度直方图图像 ②imhist(I, n) % n指定的灰度级的数目,表示所有灰度级均匀分布在n个小区间内。 ③imhist(X, map) ④[counts,x] = imhist(...) %counts直方图数据向量。counts(i)第i个灰度区间中的像素数目。x是保存了对应的灰度小区间的向量。 注意:若调用时不接受这个函数的返回值,则直接显示直方图;在得这些返回数据之后,也可以使用stem(x,counts)手绘直方图。 ●例1:显示某一图像的灰度直方图

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

MATLAB课程设计报告图像处理

一.课程设计相关知识综述...................................................................... 1.1 研究目的及意义 (3) 1.2 数字图像处理研究的内容........................................................... 1.3 MATLAB 软件的介绍.................................................................. 1.3.1 MATLAB 语言的特点......................................................... 1.3.2 MATLAB 图像文件格式.................................................... 1.3.3 MATLAB 图像处理工具箱简介........................................ 1.3.4 MATLAB 中的图像类型.................................................... 1.3.5 MATLAB 的主要应用........................................................ 1.4 函数介绍........................................................................................ 二.课程设计内容和要求........................................................................... 2.1 主要研究内容................................................................................ 2.2 具体要求....................................................................................... 2.3 预期达到的目标........................................................................... 三.设计过程............................................................................................... 3.1 设计方案及步骤............................................................................ 3.2 程序清单及注释........................................................................... 3.3 实验结果........................................................................................ 四.团队情况................................................................................................ 五.总结....................................................................................................... 六.参考文献............................................................................................... 一.课程设计相关知识综述. 1.1研究目的及意义

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1直方图 一.实验目的 1 ?熟悉matlab图像处理工具箱及直方图函数的使用; 2?理解和掌握直方图原理和方法; 二.实验设备 1. PC 机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(1,2,1),imshow(l) % 输出图像 title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像(b) 原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2灰度均衡 一.实验目的 1 .熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2?理解和掌握灰度均衡原理和实现方法; 二.实验设备 1. PC机一台; 2. 软件matlab ; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) % 输出均衡化后图像title(' 均衡化后图像')%在均衡化后图像中加标题 subplot(2,2,4),imhist(a) % 输出均衡化后直方图 title(' 均衡化后图像直方图')%在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 均衡化后图像

相关主题