一些基于matlab的图像处理简单算法

  • 格式:doc
  • 大小:49.00 KB
  • 文档页数:8

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

完成图像的灰度化处理:

function W=hdbh(f)

%f=imread('house.jpg');

[M N Z]=size(f);

g=im2double(f);

W=zeros(M,N);

for x=1:M

for y=1:N

W(x,y)=0.299*g(x,y,1)+0.587*g(x,y,2)+0.114*g(x,y,3);

end

end

figure,imshow(W),title('灰度处理后的图像')

end

完成图像的亮度调整的模块编写

function y=high()

f=imread('house.jpg');

g=im2double(f);

g1=g+0.3;

imshow(g1)

2.完成图像的平移操作

function y=py()

f=imread('house.jpg');

g=im2double(f);

N=size(f)

M=zeros(N(1),N(2));

for x=1:N(1)-100

for y=1:N(2)-100

M(x,y)=g(x+100,y+100);

end

end

imshow(M)

完成对加噪图像的去噪操作(去噪模板任意,模板n*n大小,n值可调)function h=qz(a)

f=imread('Desert.jpg'); %读入图片;

g=im2double(f); %进行灰度化处理;

N=size(f); %求出此图片的大小;

M1=zeros(N(1),N(2)); %建立一个元素全为0的二维矩阵;

for x=1:N(1)

for y=1:N(2)

M1(x,y)=0.299*g(x,y,1)+0.587*g(x,y,2)+0.114*g(x,y,3); %把彩色图像的所有像素点灰度处理;

end %关闭for循环;

end %关闭for循环;

figure,imshow(M1); %显示处理图像;

M=imnoise(M1,'salt & pepper',0.05);

figure,imshow(M);

b=zeros(N(1),N(2));

for x=fix(a/2)+1:N(1)-fix(a/2)

for y=fix(a/2)+1:N(2)-fix(a/2)

Sum=0;

for i=-fix(a/2):fix(a/2)

for j=-fix(a/2):fix(a/2)

Sum=Sum+M(x+i,y+j);

end

end

b(x,y)=Sum/(a*a);

end

end

figure,imshow(b);

完成对图像的锐化处理(锐化模板任意,突出图像边缘,保留图像背景区域)function y=ruihua(f,x)

g=im2double(f);

figure;

imshow(g);

title('原图')

[M N]=size(g);

for i=2:M-1

for j=2:N-1

L(i,j)=g(i,j)+x*(4*g(i,j)-g(i-1,j)-g(i+1,j)-g(i,j-1)-g(i,j+1));

end

end

figure;

imshow(L);

title('锐化后的图像')

完成对图像放大(或缩小)n倍的操作。

function A=fd(f,a,b)

g=im2double(f);

[M,N]=size(g);

A=zeros(a*M,b*N);

for i=1:fix(a*(M-1))

for j=1:fix(b*(N-1))

A(i,j)=g(ceil(i/a),ceil(j/b));

end

end

figure,imshow(A); title('放大后的图像')

缩小处理的代码:

function A=sx(f,a,b)

g=im2double(f);

[M,N]=size(g);

A=zeros(fix(M*a),fix(N*b));

for i=2:M-1

for j=2:N-1

A(fix(a*i),fix(b*j))=g(i,j);

end

end

figure,imshow(A);title('缩小后的图像')

完成一个对图像显示效果变换的操作(如:马赛克,浮雕效果、伪彩色效果、曝光效果等等)

阳刻

function M=fudiaoyang(f)

[m n]=size(f);

M=zeros(m,n);

c=128/255;

for i=1:m-1

for j=1:n-1

M(i,j)=f(i,j)-f(i+1,j+1)+c;

end

end

figure,imshow(M)

阴刻

function M=fudiaoyin(f)

g=im2double(f);

[m n]=size(g);

M=zeros(m,n);

c=128/255;

for i=2:m

for j=2:n

M(i,j)=f(i,j)-f(i-1,j-1)+c;

end

end

figure,imshow(M)

伪彩色

function M=weicaise(f)

g=im2double(f);