双线性插值法I_=imread('test.jpg');I=rgb2gray(I_);A=0.7;B=0.7;%失真像素坐标[i,j]=size(I);m=round(i*A);n=round(j*B);temp=zeros(m,n);%产生m*n矩阵G=[A0;0B];for x=1:mfor y=1:nab=[x,y]/G;%取得x/A,y/Ba=ab(1)-floor(ab(1));%权值b=ab(2)-floor(ab(2));%防溢出处理if ab(1)<1ab(1)=1;endif ab(1)>iab(1)=i;endif ab(2)<1ab(2)=1;endif ab(2)>jab(2)=j;end%定义内插值坐标ab11=[floor(ab(1))floor(ab(2))];ab12=[floor(ab(1))ceil(ab(2))];ab21=[ceil(ab(1))floor(ab(2))];ab22=[ceil(ab(1))ceil(ab(2))]; temp(x,y)=(1-a)*(1-b)*I(ab11(1),ab11(2))+... a*(1-b)*I(ab12(1),ab12(2))+...(1-a)*b*I(ab21(1),ab21(2))+...a*b*I(ab22(1),ab22(2));endendimshow(uint8(temp)),title('0.7倍双线性');最近邻法I_=imread('test.jpg');%读入原始图像I1=rgb2gray(I_);[i,j]=size(I1);m=round(i*1.5);n=round(j*1.5);m_=round(i*0.7);n_=round(j*0.7);%1.5倍最邻近TEMP=zeros(m,n);%产生m*n矩阵for i=1:mfor j=1:nTEMP(i,j)=I1(round(i/1.5),round(j/1.5));endendsubplot(1,3,1),imshow(I1),title('原图')TEMP1_5=uint8(TEMP);subplot(1,3,2),imshow(TEMP1_5),title('1.5倍最邻近')全局预测下的图像分割I_=imread('test.jpg');I=rgb2gray(I_);[m,n]=size(I);%统计直方图zhifangtu=zeros(1,255);%for i=1:1:mfor j=1:1:nzhifangtu(I(i,j)+1)=zhifangtu(I(i,j)+1)+1;endendplot(zhifangtu);%阈值处理final=zeros(m,n);for x=1:1:mfor y=1:1:nAA=I(x,y);if AA>120final(x,y)=255;elsefinal(x,y)=0;endendendimshow(uint8(final));高通滤波(锐化)Sobel算子O=imread('test.jpg');I=rgb2gray(O);imshow(I);title('锐化前的原始图像');[m,n]=size(I);TEMP=zeros(m+2,n+2);%避免边界为空,用0像素值填充for i=1:1:mfor j=1:1:nTEMP(i+1,j+1)=I(i,j);endend%定义所需的空间vertical=zeros(m,n);horize=zeros(m,n);for x=2:1:m+1for y=2:1:n+1%上下水平模板vertical(x-1,y-1)=[-TEMP(x-1,y-1)+TEMP(x-1,y+1)-TEMP(x,y-1)+ TEMP(x,y+1)-TEMP(x+1,y-1)+TEMP(x+1,y+1)]; %左右垂直模板horize(x-1,y-1)=[-TEMP(x-1,y-1)-TEMP(x-1,y)-TEMP(x-1,y+1)+ TEMP(x+1,y-1)+TEMP(x+1,y)+TEMP(x+1,y+1)];endendfigure;imshow(vertical);title('垂直模板锐化'); figure;imshow(vertical_);title('阈值处理后的垂直模板锐化');figure;imshow(horize);title('水平模板锐化'); figure;imshow(horize_);title('阈值处理后的水平模板锐化');低通滤波:线性滤波(邻域平均法)I=imread('eight.tif');%读入原始图像[m n]=size(I);a_=imnoise(I,'salt&pepper',0.04);%对图像加椒盐噪声,噪声强度为0.04a=double(a_);%先将uint8转换为double类型,以免数据溢出TEMP=zeros(m+2,n+2);%数值填充,产生一个临时的空间for i=1:1:mfor j=1:1:nTEMP(i+1,j+1)=a(i,j);endendfinal=zeros(m,n);for x=2:1:m+1for y=2:1:n+1final(x-1,y-1)=[TEMP(x-1,y-1)+TEMP(x-1,y)+TEMP(x-1,y+1)+ TEMP(x,y-1)+TEMP(x,y)+TEMP(x,y+1)+TEMP(x+ 1,y-1)+TEMP(x+1,y)+TEMP(x+1,y+1)]/9;endendfinal2=uint8(final)非线性滤波(中值滤波)I=imread('eight.tif');%读入原始图像[m n]=size(I);a_=imnoise(I,'salt&pepper',0.04);%对图像加椒盐噪声,噪声强度为0.04TEMP=zeros(m+2,n+2);%数值填充,产生一个临时的空间for i=1:1:mfor j=1:1:nTEMP(i+1,j+1)=a_(i,j);endend%中值滤波final=zeros(m,n);%zeros(m,n)产生m×n的零矩阵for x=2:1:m+1for y=2:1:n+1final(x-1,y-1)=median([TEMP(x-1,y-1),TEMP(x-1,y),TEMP(x-1,y +1),TEMP(x,y-1),TEMP(x,y),TEMP(x,y+1),TEMP( x+1,y-1),TEMP(x+1,y),TEMP(x+1,y+1)]);endend图像直方图I=imread('test.jpg');J=rgb2gray(I);figure,subplot(2,2,1)H=zeros(1,256);%zeros(m,n)产生m×n的零矩阵[m n]=size(J);for i=1:mfor j=1:nH(J(i,j)+1)=H(J(i,j)+1)+1;%从第一个开始,并统计灰度值endendplot(H);stem(H);%绘制二维离散数据的火柴杆图%归一化直方图N=numbel(J);%统计图像像素的总数for i=1:mfor j=1:nH2(J(i,j)+1)=[H2(J(i,j)+1)+1]/N;endend%图像均衡化%一,图像的预处理,读入彩色图像将其灰度化cd d:I=imread('test.jpg');H=rgb2gray(I);imshow(H);%二,绘制直方图[m,n]=size(H);%测量图像尺寸参数GL=zeros(1,256);%预创建存放灰度出现概率的向量for k=0:255GL(k+1)=length(find(H==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置endfigure,bar(0:255,GL,'g')%绘制直方图title('原图像直方图')xlabel('灰度值')ylabel('出现概率')%三,直方图均衡化S1=zeros(1,256);%zeros(m,n)产生m×n的零矩阵for i=1:256for j=1:iS1(i)=GL(j)+S1(i);%计算变换函数SkendendS2=round((S1*256)+0.5);%将Sk归到相近级的灰度for i=1:256GLPeq(i)=sum(GL(find(S2==i)));%计算现有每个灰度级出现的概率endfigure,bar(0:255,GLPeq,'b')%显示均衡化后的直方图title('均衡化后的直方图')xlabel('灰度值')ylabel('出现概率')%显示均衡化后的图像title('均衡化后图像')imwrite(PA,'JUNHENGHUA.bmp');。