《数字信号与图像处理结课件.ppt》由会员分享,可在线阅读,更多相关《数字信号与图像处理结课件.ppt(14页珍藏版)》请在三一办公上搜索。
1、数字信号与图像处理结课作业,姓 名:xxx 学 号:xxx指 导 老 师:xxx 日 期:xxx,GUI界面,GUI工作界面,读取图片,global im filename,pathname=.uigetfile(*.jpg;*.bmp;*.gif,选择图片);%合成路径+文件名str=pathname filename;%读取图片im=imread(str);%使用第一个axesaxes(handles.axes1);%显示图片imshow(im);,图像边缘检测,global im;str=get(hObject,string);axes(handles.axes2);switch str
2、 case 原图 imshow(im)%显示原图 case sobel bw1=edge(rgb2gray(im),sobel);imshow(bw1)%显示sobel方式的边缘检测图 case prewitt bw2=edge(rgb2gray(im),prewitt);%显示prewitt方式的边缘检测图 imshow(bw2)case canny%显示canny方式的边缘检测图 bw3=edge(rgb2gray(im),canny);imshow(bw3)case roberts bw4=edge(rgb2gray(im),roberts);imshow(bw4);%显示roberts
3、方式的边缘检测图end,sobel 检测,prewitt 检测,canny 检测,roberts 检测,彩色通道提取,global im%使用全局变量imglobal I_RGB%声明I_RGB为全局变量%拿到所选按钮的名称str=get(hObject,string);switch str case RGB_R I_RGB=im(:,:,1);%提取RGB图像的R通道 axes(handles.axes1);imshow(I_RGB);%显示R通道图像 axes(handles.axes2);imhist(I_RGB);%显示R通道图像的灰度直方图case RGB_G;,I_RGB=im(:
4、,:,2);%提取RGB图像的G通道 axes(handles.axes1);imshow(I_RGB);%显示G通道图像 axes(handles.axes2);imhist(I_RGB);%显示G通道图像的灰度直方图 case RGB_B I_RGB=im(:,:,3);%提取RGB图像的B通道 axes(handles.axes1);imshow(I_RGB);%显示B通道图像 axes(handles.axes2);imhist(I_RGB);%显示B通道图像的灰度直方图,三通道显示,R通道,G通道,B通道,图像去背景,case R-B;I_R=im(:,:,1);I_B=im(:,:
5、,3);I_RGB=I_R-I_B;%R与B通道去背景处理 axes(handles.axes1);imshow(I_RGB);axes(handles.axes2);imhist(I_RGB);%显示R-B图像的灰度直方图 case R-G I_R=im(:,:,1);I_G=im(:,:,2);I_RGB=I_R-I_G;%R与G通道去背景处理,axes(handles.axes1);imshow(I_RGB);axes(handles.axes2);imhist(I_RGB);%显示R-G图像的灰度直方图 case G-B I_G=im(:,:,2);I_B=im(:,:,3);I_RG
6、B=I_G-I_B;%G与B通道去背景处理 axes(handles.axes1);imshow(I_RGB);axes(handles.axes2);imhist(I_RGB);%显示G-B图像的灰度直方图end;,去背景后的图片,R-G,R-B,G-B,去背景,global imglobal I_RGB%使用全局变量I_RGBglobal I_RGB_bw;I_R=im(:,:,1);I_B=im(:,:,3);I_RGB=I_R-I_B;I_RGB_bw=im2bw(I_RGB,20/255);axes(handles.axes3);imshow(I_RGB_bw);U_R=im2dou
7、ble(I_RGB_bw).*im2double(im(:,:,1);U_G=im2double(I_RGB_bw).*im2double(im(:,:,2);U_B=im2double(I_RGB_bw).*im2double(im(:,:,3);,U=;U(:,:,1)=U_R;U(:,:,2)=U_G;U(:,:,3)=U_B;axes(handles.axes3);imshow(U);,空隙填充及面积计算,global imglobal I_RGB%使用全局变量I_RGBglobal I_RGB_bwglobal Uglobal mjI_RGB_bw_img=imfill(I_RGB_
8、bw,holes);axes(handles.axes3);imshow(I_RGB_bw_img);U_R=im2double(I_RGB_bw_img).*im2double(im(:,:,1);U_G=im2double(I_RGB_bw_img).*im2double(im(:,:,2);U_B=im2double(I_RGB_bw_img).*im2double(im(:,:,3);U=;,U(:,:,1)=U_R;U(:,:,2)=U_G;U(:,:,3)=U_B;axes(handles.axes3);imshow(U);s_mj=size(I_RGB_bw_img);mj=0;
9、for i=1:s_mj(1)*s_mj(2)if I_RGB_bw_img(i)=1 mj=mj+1;endend,边缘提取、周长及似圆性的计算,global Uglobal mjU_gray=rgb2gray(U);BWM1=bwmorph(U_gray,remove);%二维图像边缘提取axes(handles.axes3);imshow(BWM1);s_zc=size(BWM1);zc=0;for i=1:s_zc(1)*s_zc(2)if BWM1(i)=1 zc=zc+1;endend%计算周长,set(handles.edit1,string,zc);set(handles.edit2,string,mj);syx=zc2/4/pi/mj;set(handles.edit3,string,syx);%计算似圆性,请老师批评指正,谢谢观赏,xxx,