2022年数字图像处理代码大全.docx

上传人:H****o 文档编号:79908308 上传时间:2023-03-22 格式:DOCX 页数:42 大小:119.63KB
返回 下载 相关 举报
2022年数字图像处理代码大全.docx_第1页
第1页 / 共42页
2022年数字图像处理代码大全.docx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《2022年数字图像处理代码大全.docx》由会员分享,可在线阅读,更多相关《2022年数字图像处理代码大全.docx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选学习资料 - - - - - - - - - 1.图像反转MATLAB 程序实现如下:I=imreadxian.bmp; J=doubleI; J=-J+256-1; H=uint8J; %图像反转线性变换subplot1,2,1,imshowI; subplot1,2,2,imshowH; 2.灰度线性变换 MATLAB 程序实现如下:I=imreadxian.bmp; subplot2,2,1,imshowI; title 原始图像 ; axis50,250,50,200; axis on; %显示坐标系 I1=rgb2grayI; subplot2,2,2,imshowI1; tit

2、le 灰度图像 ; axis50,250,50,200; axis on; %显示坐标系J=imadjustI1,0.1 0.5,; % 为0 1 局部拉伸,把0.1 0.5 内的灰度拉伸名师归纳总结 - - - - - - -第 1 页,共 22 页精选学习资料 - - - - - - - - - subplot2,2,3,imshowJ; title 线性变换图像 0.1 0.5; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系K=imadjustI1,0.3 伸为 0 1 0.7,; % 局部拉伸,把 0.3 0.7内的灰度拉subp

3、lot2,2,4,imshowK; title 线性变换图像 0.3 0.7; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系3.非线性变换 MATLAB 程序实现如下:I=imreadxian.bmp; I1=rgb2grayI; subplot1,2,1,imshowI1; title 灰度图像 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系 J=doubleI1; 名师归纳总结 - - - - - - -第 2 页,共 22 页精选学习资料 - - - - - - - - -

4、J=40*logJ+1; H=uint8J; subplot1,2,2,imshowH; title 对数变换图像 ; axis50,250,50,200; grid on; %显示网格线axis on; %显示坐标系4.直方图均衡化 MATLAB 程序实现如下:I=imreadxian.bmp; I=rgb2grayI; figure; subplot2,2,1; imshowI; subplot2,2,2; imhistI; I1=histeqI; figure; subplot2,2,1; imshowI1; subplot2,2,2; imhistI1; 名师归纳总结 - - - -

5、- - -第 3 页,共 22 页精选学习资料 - - - - - - - - - 5.线性平滑滤波器 用 MATLAB 实现领域平均法抑制噪声程序:I=imreadxian.bmp; subplot231 imshowI title 原始图像 I=rgb2grayI; I1=imnoiseI,salt & pepper,0.02; subplot232 imshowI1 title 添加椒盐噪声的图像 k1=filter2fspecialaverage,3,I1/255; 板平滑滤波k2=filter2fspecialaverage,5,I1/255; %进行 3*3模%进行 5*5模板平滑

6、滤波k3=filter2fspecialaverage,7,I1/255; 板平滑滤波 k4=filter2fspecialaverage,9,I1/255; 板平滑滤波 subplot233,imshowk1;title3*3 模板平滑滤波 ; subplot234,imshowk2;title5*5 模板平滑滤波 ; subplot235,imshowk3;title7*7 模板平滑滤波 ; %进行 7*7模%进行 9*9模名师归纳总结 - - - - - - -第 4 页,共 22 页精选学习资料 - - - - - - - - - subplot236,imshowk4;title9*

7、9 6.中值滤波器模板平滑滤波 ; 用 MATLAB 实现中值滤波程序如下:I=imreadxian.bmp; I=rgb2grayI; J=imnoiseI,salt&pepper,0.02; subplot231,imshowI;title 原图像 ; subplot232,imshowJ;title k1=medfilt2J; k2=medfilt2J,5,5; k3=medfilt2J,7,7; k4=medfilt2J,9,9; 添加椒盐噪声图像 ; %进行 3*3模板中值滤波 %进行 5*5 模板中值滤波 %进行 7*7 模板中值滤波 %进行 9*9 模板中值滤波subplot23

8、3,imshowk1;title3*3 模板中值滤波 ; subplot234,imshowk2;title5*5 subplot235,imshowk3;title7*7 subplot236,imshowk4;title9*9模板中值滤波 ; 模板中值滤波 ; 模板中值滤波 ; 7.用 Sobel 算子和拉普拉斯对图像锐化:I=imreadxian.bmp; subplot2,2,1,imshowI; title 原始图像 ; axis50,250,50,200; 名师归纳总结 - - - - - - -第 5 页,共 22 页精选学习资料 - - - - - - - - - grid o

9、n; %显示网格线axis on; %显示坐标系 I1=im2bwI; subplot2,2,2,imshowI1; title 二值图像 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系 H=fspecialsobel; %挑选 sobel 算子 J=filter2H,I1; % 卷积运算 subplot2,2,3,imshowJ; titlesobel 算子锐化图像 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系 h=0 1 0,1 -4 1,0 1 0; %拉普拉斯算子 J1

10、=conv2I1,h,same; %卷积运算 subplot2,2,4,imshowJ1; title 拉普拉斯算子锐化图像 ; axis50,250,50,200; 名师归纳总结 grid on; %显示网格线第 6 页,共 22 页axis on; %显示坐标系- - - - - - -精选学习资料 - - - - - - - - - 8.梯度算子检测边缘 用 MATLAB 实现如下:I=imreadxian.bmp; subplot2,3,1; imshowI; title 原始图像 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系

11、 I1=im2bwI; subplot2,3,2; imshowI1; title 二值图像 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系 I2=edgeI1,roberts; figure; subplot2,3,3; imshowI2; titleroberts 算子分割结果 ; axis50,250,50,200; 名师归纳总结 - - - - - - -第 7 页,共 22 页精选学习资料 - - - - - - - - - grid on; %显示网格线axis on; %显示坐标系 I3=edgeI1,sobel; sub

12、plot2,3,4; imshowI3; titlesobel 算子分割结果 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系 I4=edgeI1,Prewitt; subplot2,3,5; imshowI4; titlePrewitt 算子分割结果 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系9.LOG 算子检测边缘 用 MATLAB 程序实现如下:I=imreadxian.bmp; subplot2,2,1; imshowI; title 原始图像 ; 名师归纳总结 - -

13、 - - - - -第 8 页,共 22 页精选学习资料 - - - - - - - - - I1=rgb2grayI; subplot2,2,2; imshowI1; title 灰度图像 ; I2=edgeI1,log; subplot2,2,3; imshowI2; titlelog 算子分割结果 ; 10.Canny 算子检测边缘 用 MATLAB 程序实现如下:I=imreadxian.bmp; subplot2,2,1; imshowI; title 原始图像 I1=rgb2grayI; subplot2,2,2; imshowI1; title 灰度图像 ; I2=edgeI1,

14、canny; subplot2,2,3; imshowI2; titlecanny 算子分割结果 ; 名师归纳总结 - - - - - - -第 9 页,共 22 页精选学习资料 - - - - - - - - - 11.边界跟踪( bwtraceboundary 函数)clc clear all I=imreadxian.bmp; figure imshowI; title 原始图像 ; I1=rgb2grayI; threshold=graythreshI1; 值图像所需的门限%将彩色图像转化灰度图像 %运算将灰度图像转化为二BW=im2bwI1, threshold; %将灰度图像转化为

15、二值图像figure imshowBW; title 二值图像 ; dim=sizeBW; col=rounddim2/2-90; row=findBW:,col,1; connectivity=8; num_points=180; %运算起始点列坐标 %运算起始点行坐标contour=bwtraceboundaryBW,row,col,N,connectivity,num_p oints; 名师归纳总结 - - - - - - -第 10 页,共 22 页精选学习资料 - - - - - - - - - %提取边界figure imshowI1; hold on; plotcontour:,

16、2,contour:,1, g,LineWidth ,2; title 边界跟踪图像 ; 12.Hough 变换 I= imreadxian.bmp; rotI=rgb2grayI; subplot2,2,1; imshowrotI; title 灰度图像 ; axis50,250,50,200; grid on; axis on; BW=edgerotI,prewitt; subplot2,2,2; imshowBW; titleprewitt 算子边缘检测后图像 ; axis50,250,50,200; grid on; axis on; 名师归纳总结 - - - - - - -第 11

17、页,共 22 页精选学习资料 - - - - - - - - - H,T,R=houghBW; subplot2,2,3; imshowH,XData,T,YData,R,InitialMagnification,fit; title 霍夫变换图 ; xlabeltheta,ylabelrho; axis on , axis normal, hold on; P=houghpeaksH,5,threshold,ceil0.3*maxH:; x=TP:,2;y=RP:,1; plotx,y,s,color,white; lines=houghlinesBW,T,R,P,FillGap,5,Min

18、Length,7; subplot2,2,4;,imshowrotI; title 霍夫变换图像检测 ; axis50,250,50,200; grid on; axis on; hold on; max_len=0; for k=1:lengthlines xy=linesk.point1;linesk.point2; plotxy:,1,xy:,2,LineWidth,2,Color,green; plotxy1,1,xy1,2,x,LineWidth,2,Color,yellow; plotxy2,1,xy2,2,x,LineWidth,2,Color,red; 名师归纳总结 - - -

19、 - - - -第 12 页,共 22 页精选学习资料 - - - - - - - - - len=normlinesk.point1-linesk.point2; iflenmax_len max_len=len; xy_long=xy; end end plotxy_long:,1,xy_long:,2,LineWidth,2,Color,cyan; 13. 直方图阈值法 用 MATLAB 实现直方图阈值法:I=imreadxian.bmp; I1=rgb2grayI; figure; subplot2,2,1; imshowI1; title 灰度图像 axis50,250,50,200

20、; grid on; %显示网格线 axis on; %显示坐标系m,n=sizeI1; 参数% 测量图像尺寸GP=zeros1,256; %预创建存放灰度显现概率的向量名师归纳总结 - - - - - - -第 13 页,共 22 页精选学习资料 - - - - - - - - - for k=0:255 GPk+1=lengthfindI1=k/m*n; 显现的概率,将其存入 GP 中相应位置end % 运算每级灰度subplot2,2,2,bar0:255,GP,g %绘制直方图title 灰度直方图 xlabel 灰度值 ylabel 显现概率 I2=im2bwI,150/255; s

21、ubplot2,2,3,imshowI2; title 阈值 150 的分割图像 axis50,250,50,200; grid on; % %显示网格线axis on; %显示坐标系I3=im2bwI,200/255; subplot2,2,4,imshowI3; title 阈值 200 的分割图像 axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系14. 自动阈值法: Otsu 法名师归纳总结 - - - - - - -第 14 页,共 22 页精选学习资料 - - - - - - - - - 用 MATLAB 实现 Otsu 算法:cl

22、c clear all I=imreadxian.bmp; subplot1,2,1,imshowI; title 原始图像 axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系 level=graythreshI; %确定灰度阈值 BW=im2bwI,level; subplot1,2,2,imshowBW; titleOtsu 法阈值分割图像 axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系15. 膨胀操作 I=imreadxian.bmp; %载入图像 I1=rgb2grayI; subp

23、lot1,2,1; imshowI1; title 灰度图像 名师归纳总结 - - - - - - -第 15 页,共 22 页精选学习资料 - - - - - - - - - axis50,250,50,200; grid on; %显示网格线axis on; %显示坐标系se=streldisk,1; I2=imdilateI1,se; 行膨胀subplot1,2,2; imshowI2; %生成圆形结构元素 %用生成的结构元素对图像进title 膨胀后图像 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系16. 腐蚀操作 MATLA

24、B 实现腐蚀操作 I=imreadxian.bmp; %载入图像 I1=rgb2grayI; subplot1,2,1; imshowI1; title 灰度图像 axis50,250,50,200; 名师归纳总结 grid on; %显示网格线第 16 页,共 22 页axis on; %显示坐标系- - - - - - -精选学习资料 - - - - - - - - - se=streldisk,1; I2=imerodeI1,se; 蚀 subplot1,2,2; imshowI2; % 生成圆形结构元素 %用生成的结构元素对图像进行腐title 腐蚀后图像 ; axis50,250,5

25、0,200; grid on; %显示网格线 axis on; %显示坐标系17. 开启和闭合操作 用 MATLAB 实现开启和闭合操作I=imreadxian.bmp; %载入图像 subplot2,2,1,imshowI; title 原始图像 ; axis50,250,50,200; axis on; %显示坐标系 I1=rgb2grayI; subplot2,2,2,imshowI1; title 灰度图像 ; axis50,250,50,200; axis on; %显示坐标系se=streldisk,1; %采纳半径为 1的圆作为结构元素名师归纳总结 - - - - - - -第

26、17 页,共 22 页精选学习资料 - - - - - - - - - I2=imopenI1,se; % 开启操作 I3=imcloseI1,se; %闭合操作 subplot2,2,3,imshowI2; title 开启运算后图像 ; axis50,250,50,200; axis on; %显示坐标系 subplot2,2,4,imshowI3; title 闭合运算后图像 ; axis50,250,50,200; axis on; %显示坐标系18. 开启和闭合组合操作 I=imreadxian.bmp; %载入图像 subplot3,2,1,imshowI; title 原始图像

27、; axis50,250,50,200; axis on; %显示坐标系 I1=rgb2grayI; subplot3,2,2,imshowI1; title 灰度图像 ; axis50,250,50,200; axis on; %显示坐标系 se=streldisk,1; 名师归纳总结 - - - - - - -第 18 页,共 22 页精选学习资料 - - - - - - - - - I2=imopenI1,se; % 开启操作I3=imcloseI1,se; %闭合操作subplot3,2,3,imshowI2; title 开启运算后图像 ; axis50,250,50,200; ax

28、is on; %显示坐标系subplot3,2,4,imshowI3; title 闭合运算后图像 ; axis50,250,50,200; axis on; %显示坐标系se=streldisk,1; I4=imopenI1,se; I5=imcloseI4,se; subplot3,2,5,imshowI5; title 开闭运算图像 ; axis50,250,50,200; %开闭运算图像axis on; %显示坐标系 I6=imcloseI1,se; I7=imopenI6,se; subplot3,2,6,imshowI7; title 闭开运算图像 ; axis50,250,50,

29、200; %闭开运算图像名师归纳总结 - - - - - - -第 19 页,共 22 页精选学习资料 - - - - - - - - - axis on; %显示坐标系19. 形状学边界提取 利用 MATLAB 实现如下:I=imreadxian.bmp; %载入图像 subplot1,3,1,imshowI; title 原始图像 ; axis50,250,50,200; grid on; %显示网格线 axis on; %显示坐标系 I1=im2bwI; subplot1,3,2,imshowI1; title 二值化图像 ; axis50,250,50,200; grid on; %显

30、示网格线 axis on; %显示坐标系I2=bwperimI1; %猎取区域的周长subplot1,3,3,imshowI2; title 边界周长的二值图像 ; axis50,250,50,200; grid on; axis on; 名师归纳总结 - - - - - - -第 20 页,共 22 页精选学习资料 - - - - - - - - - 20. 形状学骨架提取 利用 MATLAB 实现如下:I=imreadxian.bmp; subplot2,2,1,imshowI; title 原始图像 ; axis50,250,50,200; axis on; I1=im2bwI; sub

31、plot2,2,2,imshowI1; title 二值图像 ; axis50,250,50,200; axis on; I2=bwmorphI1,skel,1; subplot2,2,3,imshowI2; title1 次骨架提取 ; axis50,250,50,200; axis on; I3=bwmorphI1,skel,2; subplot2,2,4,imshowI3; title2 次骨架提取 ; axis50,250,50,200; axis on; 名师归纳总结 - - - - - - -第 21 页,共 22 页精选学习资料 - - - - - - - - - 21. 直接提取四个顶点坐标 I = imreadxian.bmp; I = I:,:,1; BW=im2bwI; figure imshowBW x,y=getpts 名师归纳总结 - - - - - - -第 22 页,共 22 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁