1、 % 局部拉伸,把0.3 0.7 内的灰度拉伸为0 1subplot(2,2,4),imshow(K); 线性变换图像0.3 0.73.非线性变换subplot(1,2,1),imshow(l1); %显示网格线 %显示坐标系J=double(I1);J=40*(log(J+1);subplot(1,2,2),imshow(H); 对数变换图像);%显示网格线4.直方图均衡化l=imread(I=rgb2gray(l);figure;subplot(2,2,1);imshow(I);subplot(2,2,2);imhist(I);I仁histeq(l);imshow(I1);imhist(I
2、1);5.线性平滑滤波器用MATLA实现领域平均法抑制噪声程序:subplot(231)imshow(I)I=rgb2gray(I);I1=im noise(l,salt & pepper,0.02);subplot(232)imshow(ll) 添加椒盐噪声的图像k仁filter2(fspecial(average,3),l1)/255;模板平滑滤波k2=filter2(fspecial(,5),l1)/255;k3=filter2(fspecial(,7),l1)/255;k4=filter2(fspecial(,9),l1)/255;%进行3*3%进行5*5%进行7*7%进行9*9sub
3、plot(233),imshow(k1);3*3subplot(234),imshow(k2);5*5subplot(235),imshow(k3);7*7 subplot(236),imshow(k4);9*96.中值滤波器用MATLA实现中值滤波程序如下:J=imno ise(l,salt& subplot(231),imshow(l); subplot(232),imshow(J); k1=medfilt2(J);k2=medfilt2(J,5,5);k3=medfilt2(J,7,7);模板平滑滤波 模板平滑滤波原图像);添加椒盐噪声图像%进行3*3模板中值滤波%进行5*5模板中值滤波
4、%进行7*7模板中值滤波%进行9*9模板中值滤波模板中值滤波 模板中值滤波%选择sobel算子%卷积运算k4=medfilt2(J,9,9);7*7subplot(236),imshow(k4);7.用Sobel算子和拉普拉斯对图像锐化: subplot(2,2,1),imshow (I);I1=im2bw(I);subplot(2,2,2),imshow(l1);二值图像H=fspecial(sobelJ=filter2(H,I1); subplot(2,2,3),imshow(J);sobel 算子锐化图像h=0 1 0,1-4 1,0 1 0; %拉普拉斯算子J1=co nv2(l1,h
5、,samesubplot(2,2,4),imshow(J1); 拉普拉斯算子锐化图像8.梯度算子检测边缘用MATLA实现如下:subplot(2,3,1);subplot(2,3,2);I2=edge(l1,robertssubplot(2,3,3);imshow(l2);roberts 算子分割结果I3=edge(I1,subplot(2,3,4);imshow(I3);sobel 算子分割结果I4=edge(I1,卩rewittsubplot(2,3,5);imshow(I4);title(卩rewitt 算子分割结果9.LOG算子检测边缘用MATLAB? subplot(2,2,1);i
6、mshow(l);I仁 rgb2gray(l); subplot(2,2,2);imshow(ll);I2=edge(I1,log subplot(2,2,3);log 算子分割结果1O.Canny算子检测边缘 用MATLAB?ca nn y%将彩色图像转化灰度图像% 计算将灰度图像转化为二值图像%将灰度图像转化为二值图像% 计算起始点列坐标%计算起始点行坐标,conn ectivity, num _poi nts);canny 算子分割结果11.边界跟踪(bwtraceboundary 函数) clc clear all l=imread(figure threshold=graythres
7、h(I1);所需的门限BW=im2bw(l1, threshold);imshow(BW);dim=size(BW);col=rou nd(dim (2)/2)-90;row=fi nd(BW(:,col),1);conn ectivity=8;nu m_po in ts=180;con tour=bwtracebo un dary(BW,row,col,N%提取边界hold on;plot(co ntour(:,2),co ntour(:,1), g,Li neWidth ,2); 边界跟踪图像12.Hough 变换I= imread(xia n. bmprotI=rgb2gray(I);i
8、mshow(rotI);BW=edge(rotl,prewittprewitt 算子边缘检测后图像H,T,R=hough(BW);subplot(2,2,3);imshow(H,XData,T,YData,R,l nitialMag ni ficatio nfit 霍夫变换图xlabel(theta),ylabel(rhoaxis on , axis normal, hold on;P=houghpeaks(H,5,threshold,ceil(0.3*max(H(:);x=T(P(:,2);y=R(P(:,1);plot(x,y,scolorwhitelin es=houghli nes(B
9、W,T,R,P,FillGap,5,Mi nLe ngth,7); subplot(2,2,4);,imshow(rotl); 霍夫变换图像检测max_le n=0;for k=1:le ngth(li nes)xy=li nes(k).poi nt1;li nes(k).poi nt2;plot(xy(:,1),xy(:,2),2,Colorgree n plot(xy(1,1),xy(1,2),xL in eWidthyellowplot(xy(2,1),xy(2,2),redlen=no rm(li nes(k).poi nt1-li nes(k).poi nt2);if(le n ma
10、x_le n)max_le n=len;xyon g=xy;endplot(xy_lo ng(:,1),xy_lo ng(:cya n13.直方图阈值法用MATLA实现直方图阈值法:imshow(l1);m, n=size(l1);%测量图像尺寸参数GP=zeros(1,256);%预创建存放灰度出现概率的向量for k=0:255GP(k+1)=le ngth(fi nd(l1=k)/(m* n); % 计算每级灰度出现的概率,将其存入GP中相应位置subplot(2,2,2),bar(0:255,GP,%绘制直方图 灰度直方图灰度值ylabel(出现概率l2=im2bw(l,150/255
11、);subplot(2,2,3),imshow(l2); 阈值150的分割图像l3=im2bw(l,200/255);subplot(2,2,4),imshow(l3); 阈值200的分割图像) axis(50,250,50,200);14.自动阈值法:Otsu法 用MATLA实现Otsu算法: clcclear alllevel=graythresh(l); %确定灰度阈值BW=im2bw(l,level);subplot(1,2,2),imshow(BW);Otsu 法阈值分割图像15.膨胀操作subplot(1,2,1);se=strel(disk,1);I2=imdilate(I1,s
12、e);行膨胀subplot(1,2,2); 膨胀后图像16.腐蚀操作%载入图像%生成圆形结构元素%用生成的结构元素对图像进MATLA实现腐蚀操作I2=imerode(I1,se); 腐蚀后图像17.开启和闭合操作用MATLA实现开启和闭合操作 axis(50,250,50,200);%用生成的结构元素对图像进行腐蚀系I2=imope n(I1,se);I3=imclose(l1,se); subplot(2,2,3),imshow(l2); 开启运算后图像 subplot(2,2,4),imshow(l3); 闭合运算后图像18.开启和闭合组合操作 subplot(3,2,1),imshow
13、(I);%显示坐标%采用半径为1的圆作为结构元素%开启操作%闭合操作subplot(3,2,2),imshow(l1); subplot(3,2,3),imshow(l2);subplot(3,2,4),imshow(l3);I4=imope n(I1,se);I5=imclose(I4,se); subplot(3,2,5),imshow(l5); 开一闭运算图像I6=imclose(l1,se);%开一闭运算图像I7=imope n(l6,se); subplot(3,2,6),imshow(l7); 闭一开运算图像19.形态学边界提取利用MATLA实现如下:subplot(1,3,1),imshow(l);subplot(1,3,2),imshow(l1); 二值化图像I2=bwperim(l1);subplot(1,3,3),imshow(l2); 边界周长的二值图像%闭一开运算图像%获取区域的周长20.形态学骨架提取I2=bwmorph(l1,skel1 次骨架提取I3=bwmorph(l1,2);2 次骨架提取21.直接提取四个顶点坐标I = imread(I = l(:,:,1);BW=im2bw(l);imshow(BW)x,y=getpts
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1