教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

数字图像处理课程设计 matlab(3)

来源:网络收集 时间:2026-04-27
导读: function eventdata, handles) %均与性度量法 set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2); v=double(handles.image); [sx,sy]=size(v); num=sx*sy; t=[]; for th=6:254 [r1,c1]=find(v(:)=t

function eventdata, handles)

%均与性度量法

set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2); v=double(handles.image); [sx,sy]=size(v); num=sx*sy; t=[]; for th=6:254

[r1,c1]=find(v(:)>=th);

junyunxing_Callback(hObject,

--- ).^2);

[r2,c2]=find(v(:)<th);

if(length(r1)~=0 & length(c1)~=0 ) L1=v(r1); else L1=[]; end

if(length(r2)~=0 & length(c2)~=0 ) L2=v(r2); else L2=[]; end

m1=mean(L1(:)); m2=mean(L2(:));

Var1=sum((L1(:)-m1).^2);Var2=sum((L2(:)-m2Var1=var(L1(:));Var2=var(L2(:)); P1=length(L1(:))/num; P2=length(L2(:))/num; t=[t,P1*Var1+P2*Var2]; end [c,l]=min(t); B=v;

[r1,c1]=find(v(:)>=l+5); [r2,c2]=find(v(:)<l+5); B(r1)=255; B(r2)=0;

imshow(uint8(B)); %

-----------------------------------------------------------------function eventdata, handles)

%局部阈值法

set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2); v=rgb2gray(handles.image); imshow(v); R=zeros(size(v)); H = FSPECIAL('gaussian',9,2.4); v = imfilter(v,H); t=graythresh(v); t=t*255; [c,l]=find( v(:)>t); R(c)=1;

[x,y]=size(R); q=R; for i=10:x-10

jubuyuzhi_Callback(hObject,

数字图像处理 使用matlab 很好的 报告

for j=10:y-10 if R(i,j)==0

t=[R(i-1,j-1),R(i-1,j),R(i-1,j+1),R(i,j-1),R(i,j+1),R(i+1,j-1),R(i+1,j),R(i+1,j+1)];

if sum(t)==0 q(i,j)=1; end end end end

figure, imshow(q,[]);

--------------------------------------------------------------------

function eventdata, handles)

%类间最大法

set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2); X=rgb2gray(handles.image); [r,c]=size(X); figure (1) subplot(1,2,1) imshow(X) R=zeros(1,256); for i=50:150 Xi0=X0<=i; N0=sum(sum(Xi0)); Xm0=X0(Xi0); u0=sum(Xm0)/N0;

Xi1=X0>i; N1=sum(sum(Xi1)); Xm1=X0(Xi1); u1=sum(Xm1)/N1;

R(i+1)=(u1-i)*(i-u0)/((u1-u0)^2); end

Th=find(R==max(R(51:151)))-1

X2=zeros(r,c); for i=1:r for j=1:c

---

leijianzuidajuli_Callback(hObject,

X2(i,j)=X0(i,j)>Th; end end

subplot(2,2,2) imshow(X2)

----------------------------------------------------------------- %颜色空间转化

--------------------------------------------------------------------

function handles)

%RGB转HSV

set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2); hv=rgb2hsv(handles.image); subplot(2,2,1); imshow(hv); title('RGB HSV');

%RGB=reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]);

H=hv(:,:,1); S=hv(:,:,2); V=hv(:,:,3); subplot(2,2,2); imshow(H) ;

title(' § § '); subplot(2,2,3); imshow(S);

title(' § § '); subplot(2,2,4); imshow(V);

title(' § § ');

-----------------------------------------------------------------function HIS_Callback(hObject, eventdata, handles)

%RGB转HSI

set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2);

W=im2double(handles.image);%获得double型的图形矩阵

[m,n,q]=size(W);

hsv_Callback(hObject,

eventdata,

数字图像处理 使用matlab 很好的 报告

R=W(:,:,1); G=W(:,:,2); B=W(:,:,3);

% 改变通道来观察图像 H=zeros(m,n); S=H; for i1=1:m for i2=1:n

numerator=0.5*(R(i1,i2)-G(i1,i2)+R(i1,i2)-B(i1,i2));

denominator=sqrt((R(i1,i2)-G(i1,i2))^2+(R(i1,i2)-B(i1,i2))*(G(i1,i2)-B(i1,i2)));

theta=acos(numerator/denominator)*180/pi;

if(B(i1,i2)<=G(i1,i2)) H(i1,i2)=theta; else

H(i1,i2)=360-theta; end

min1=min(R(i1,i2),G(i1,i2)); min1=min(B(i1,i2),min1);

S(i1,i2)=1-3/(R(i1,i2)+G(i1,i2)+B(i1,i2))*min1;

end end

I=(R+G+B)/3;

figure,subplot(1,3,1),imshow(H,[]),title('色度图H');

set(gcf,'outerposition',get(0,'screensize')); set(gcf,'NumberTitle','off','Name','HSI通道图像');

subplot(1,2,2),imshow(S),title('饱和度图S'); subplot(1,2,3),imshow(I),title('强度图 I'); %

-----------------------------------------------------------------

%其他图像处理

---------------------------------------------------------------------------

function handles)

%傅里叶变化

fly_Callback(hObject,

eventdata,

set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2); [m,n]=size(handles.image); d=zeros(m,n); d(60:100,60:100)=1; w=fft2(d); w1=fftshift(w); [sx,sy]=size(d);

subplot(2,2,1); imshow(d); subplot(2,2,2); imshow(abs(w1)); for i=1:sx t= fft(d(i,:)); len=length(t)/2;

F1(i,:)=[(t(len+1:end)),t(1:len)]; end for i=1:sy

F2=fft(F1(:,i)); len=length(F2)/2;

F(:,i)=[(F2(len+1:end));F2(1:len)]; end

subplot(2,2,3); imshow(abs(F1)); subplot(2,2,4); imshow((abs(F)));

function ruihua_Callback(hObject, eventdata, handles)

%锐化 k=2;

h1=[-1 0 1;-k 0 k;-1 0 1]; h2=[1 k 1;0 0 0;-1 -k -1];

set(handles.axes2,'HandleVisibility','ON'); axes(handles.axes2); I=rgb2gray(handles.image); subplot(121);imshow(I); J1(:,:)=conv2(I(:,:),h1); J2(:,:)=conv2(I(:,:),h2); J=abs(J1)+abs(J2); subplot(122); imshow((J),[0 255]);

数字图像处理 使用matlab 很好的 报告

…… 此处隐藏:2407字,全部文档内容请下载后查看。喜欢就下载吧 ……
数字图像处理课程设计 matlab(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/269122.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)