




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
生物系统工程 蒋昊铮 3120100277机器视觉实验报告蒋昊铮 3120100277灰度变换实验1 灰度范围移动处理程序(d0)ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)ImageShow=ImageIn+150;subplot(1,2,2);imshow(ImageShow)程序(d0)ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)ImageShow=ImageIn-100;subplot(1,2,2);imshow(ImageShow)实验2 灰度线性变换(整体灰度线性变换)程序:ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)MinGray=min(min(ImageIn);MaxGray=max(max(ImageIn);MinShow=0;MaxShow=255;ImageShow=(MaxShow-MinShow)/(MaxGray-MinGray)*(ImageIn-MinGray)+MinShow;ImageShow=uint8(ImageShow);subplot(1,2,2);imshow(ImageShow)实验3 灰度线性变换(限幅灰度拉伸)代码1ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)MinGray=min(min(ImageIn);MaxGray=max(max(ImageIn);MinShow=0;MaxShow=255;for i1 = 1 : size(ImageIn,1) for i2 = 1 : size(ImageIn,2) if ImageIn(i1,i2)MinGray ImageShow(i1,i2)=MinShow; elseif (ImageIn(i1,i2)=MinGray) ImageShow(i1,i2)=(MaxShow-MinShow)/(MaxGray-MinGray)*(ImageIn(i1,i2)-MinGray)+MinShow;else ImageShow(i1,i2)=MaxShow;end endendImageShow=uint8(ImageShow);subplot(1,2,2);imshow(ImageShow)代码2ImageIn=imread(lenaGray.tiff);subplot(1,2,1); imshow(ImageIn) MinGray=min(min(ImageIn); MaxGray=max(max(ImageIn); MinShow=0; MaxShow=255; if ImageInMaxGray ImageShow=MaxShow; elseImageShow=(MaxShow-MinShow)/(MaxGray-MinGray)*(ImageIn-MinGray)+MinShow; end ImageShow=uint8(ImageShow); subplot(1,2,2); imshow(ImageShow)实验4灰度线性变换(锯齿形灰度拉伸)ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)MinShow=0;M1=65;M2=129;M3=193;MaxShow=255;for i1 = 1 : size(ImageIn) for i2 = 1 : size(ImageIn,2) if (ImageIn(i1,i2)=MinShow) ImageShow(i1,i2)=(M3-MinShow)/(max(max(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)*(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)+MinShow;elseif (ImageIn(i1,i2)=M1) ImageShow(i1,i2)=(M2-M1)/(max(max(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)*(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)+M1;elseif (ImageIn(i1,i2)=M2) ImageShow(i1,i2)=(M3-M2)/(max(max(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)*(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)+M2;else ImageShow(i1,i2)=(MaxShow-M3)/(max(max(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)*(ImageIn(i1,i2)-min(min(ImageIn(i1,i2)+M3;end endend ImageShow=uint8(ImageShow);subplot(1,2,2);imshow(ImageShow)实验5灰度线性变换(阈值灰度分割法)ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)ImageIn=double(ImageIn);ImageShow=zeros(256,256);ImageShow=double(ImageShow);for j=1:size(ImageIn,1) for i=1:size(ImageIn,2) ImageShow(j,i)=ImageIn(j,i)*ImageIn(j,i)/255; endendImageShow=uint8(ImageShow);subplot(1,2,2);imshow(ImageShow)实验6 灰度非线性变换ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)ImageIn=double(ImageIn);ImageShow=zeros(256,256);ImageShow=double(ImageShow);for j=1:size(ImageIn,1) for i=1:size(ImageIn,2) ImageShow(j,i)=sqrt(ImageIn(j,i)/16*255; endendImageShow=uint8(ImageShow);subplot(1,2,2);imshow(ImageShow)直方图变换实验1直方图的计算ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)ImageGray=0:255;ImageBar=ImageGray;for i1=1:size(ImageGray,2) ImageBar(i1)=sum(sum(ImageIn=ImageGray(i1);end subplot(1,2,2)bar(ImageGray,ImageBar)实验2累积直方图ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn)ImageGray=0:255; ImageBar=ImageGray;for i1=1:size(ImageGray,2) ImageBar(i1)=sum(sum(ImageIn=ImageGray(i1);endImageBar=ImageBar/(size(ImageIn,2)*size(ImageIn,1)*100;SumBar=ImageBar;for i1=2:size(SumBar,2) SumBar(i1)=SumBar(i1-1)+ImageBar(i1);end subplot(1,2,2);plot(ImageGray,SumBar)实验3均衡化直方图ImageIn=imread(lenaGray.tiff);subplot(2,2,1);imshow(ImageIn); ImageGray=0:255;ImageBar=ImageGray;ImageSize=size(ImageIn,1)*size(ImageIn,2);for i1=1:size(ImageGray,2) ImageBar(i1)=sum(sum(ImageIn=ImageGray(i1);endsubplot(2,2,2);bar(ImageGray,ImageBar); ImageBar=ImageBar/ImageSize;ImageBarNew=ImageBar;for i1=2:size(ImageBarNew,2) ImageBarNew(i1)=ImageBarNew(i1-1)+ImageBar(i1);endbar(ImageGray,ImageBarNew)ImageShow=ImageIn;for i1=1:size(ImageIn,1) for i2=1:size(ImageIn,2) ImageShow(i1,i2)=uint8(ImageBarNew(ImageIn(i1,i2)*255); endend subplot(2,2,3);imshow(ImageShow); I=ImageGray;for i1=1:size(ImageGray,2) I(i1)=sum(sum(ImageShow=ImageGray(i1);endsubplot(2,2,4);bar(ImageGray,I);锐化实验1 基础卷积A= ones(4);A(2,3)= 4;B= -1.*ones(3);B(2,2)=8;C=ones(4);for i1=2:3; for i2=2:3; C(i1,i2)=sum(sum(A(i1-1:i1+1,i2-1:i2+1).*B); endend平滑实验1均值平滑ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn) ImageOut=ImageIn;ImageIn=double(ImageIn);MeanOperator=ones(3,3)/9;iOperator=MeanOperator;for i1=2:size(ImageIn,1)-1 for i2=2:size(ImageIn,2)-1 ImageOut(i1,i2)=sum(sum(ImageIn(i1-1:i1+1,i2-1:i2+1).*iOperator); endendImageOut=uint8(ImageOut);subplot(1,2,2);imshow(ImageOut) 实验2阈值平滑ImageIn= imread(lenaGray.tiff);ImageOut=ImageIn;subplot(1,2,1);imshow(ImageIn)ImageIn=double(ImageIn);A=1/9.*ones(3);for i1 = 2:size(ImageIn,1)-1 for i2 = 2:size(ImageIn,2)-1 if abs(ImageIn(i1,i2)-sum(sum(ImageIn(i1-1:i1+1,i2-1:i2+1).*A)=10 ImageOut(i1,i2) = sum(sum(ImageIn(i1-1:i1+1,i2-1:i2+1).*A); end endend ImageOut=uint8(ImageOut);subplot(1,2,2);imshow(ImageOut)实验3空域低通滤波ImageIn=imread(lenaGray.tiff);ImageOut=ImageIn;ImageOut_average=ImageIn;subplot(1,2,1);imshow(ImageIn)ImageIn=double(ImageIn);C=1/10.*ones(3);C(2,2)=1/5;for i1=2:size(ImageIn,1)-1 for i2=2:size(ImageIn,2)-1 ImageOut(i1,i2)=sum(sum(ImageIn(i1-1:i1+1,i2-1:i2+1).*C); endendImageOut=uint8(ImageOut);subplot(1,2,2);imshow(ImageOut)实验4高斯平滑滤波ImageIn=imread(lenaGray.tiff);ImageOut=ImageIn;ImageOut_average=ImageIn;subplot(1,2,1);imshow(ImageIn)ImageIn=double(ImageIn); C=fspecial(gaussian,3 3,2);for i1=2:size(ImageIn,1)-1 for i2=2:size(ImageIn,2)-1 ImageOut(i1,i2)=sum(sum(ImageIn(i1-1:i1+1,i2-1:i2+1).*C); endendImageOut=uint8(ImageOut);subplot(1,2,2);imshow(ImageOut)实验5中值滤波ImageIn= imread(lenaGray.tiff);ImageOut=ImageIn;subplot(1,2,1);imshow(ImageIn) mhl=2;mms=(mhl*2+1)*(mhl*2+1);mmmp=mhl*mhl*2+2*mhl+1; for i1=mhl+1:size(ImageIn,1)-mhl for i2=mhl+1:size(ImageIn,2)-mhl mm=ImageIn(i1-mhl:i1+mhl,i2-mhl:i2+mhl); mml=reshape(mm,1,mms); mml=sort(mml); ImageOut(i1,i2)=mml(mmmp); endend subplot(1,2,2);imshow(ImageOut)实验6边缘保持滤波器ImageIn=imread(lenaGray.tiff);ImageOut=ImageIn;subplot(1,2,1);imshow(ImageIn) HalfSideLength=2;SideLength=2*HalfSideLength+1; for i1=HalfSideLength+1:size(ImageIn,1)-HalfSideLength; for i2=HalfSideLength+1:size(ImageIn,2)-HalfSideLength; a=sum(sum(ImageIn(i1-HalfSideLength:i1,i2-HalfSideLength:i2)/(2*HalfSideLength+1)*(2*HalfSideLength+1); b=sum(sum(ImageIn(i1:i1+HalfSideLength,i2-HalfSideLength:i2)/(2*HalfSideLength+1)*(2*HalfSideLength+1); c=sum(sum(ImageIn(i1-HalfSideLength:i1,i2:i2+HalfSideLength)/(2*HalfSideLength+1)*(2*HalfSideLength+1); d=sum(sum(ImageIn(i1:i1+HalfSideLength,i2:i2+HalfSideLength)/(2*HalfSideLength+1)*(2*HalfSideLength+1); A=a,b,c,d; ImageOut(i1,i2)= min(A); endendsubplot(1,2,2);imshow(ImageOut)伪彩色处理实验1clearclcImageIn=imread(lenaGray.tiff);ImageOut=ImageIn;subplot(1,2,1);imshow(ImageIn) QBcolor(1,:)=39,39,39;QBcolor(2,:)=45,67,78;QBcolor(3,:)=56,76,155;QBcolor(4,:)=234,121,23;QBcolor(5,:)=22,22,34;QBcolor(6,:)=12,76,43;QBcolor(7,:)=122,23,223;QBcolor(8,:)=55,55,55;QBcolor(9,:)=64,64,64;QBcolor(10,:)=0,0,255;QBcolor(11,:)=0,255,0;QBcolor(12,:)=0,0,255;QBcolor(13,:)=255,0,0;QBcolor(14,:)=255,0,255;QBcolor(15,:)=255,255,0;QBcolor(16,:)=255,255,255;ImageOut=uint8(zeros(size(ImageIn,1),size(ImageIn,2),3); MinGray=double(min(min(ImageIn);MaxGray=double(max(max(ImageIn);MinShow=0;MaxShow=15;ImageIn16=double(ImageIn);ImageIn16=(MaxShow-MinShow)/(MaxGray-MinGray)*(ImageIn-MinGray)+MinShow;ImageIn16=uint8(ImageIn16); for i1=1:size(ImageOut,1) for i2=1:size(ImageOut,2) ImageOut(i1,i2,:)=QBcolor(ImageIn16(i1,i2)+1,:); endend ImageOut=uint8(ImageOut);subplot(1,2,2);imshow(ImageOut)区域生成实验1迭代式阈值ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn);ImageGray= 0:255;ImageBar=ImageGrayfor i1= 1:size(ImageGray,2) ImageBar(i1) = sum(sum(ImageIn = ImageGray(i1);end ImageBarBig0=find(ImageBar0); Th=(ImageBarBig0(1)+ImageBarBig0(end)/2; ImageIn=double(ImageIn);Image1=double(ImageIn Th);S2=sum(sum(Image2);u2=sum(sum(Image2.*ImageIn)/S2;u1_Old=u1-1; while u1_Old =u1 u1_Old=u1; u2_Old=u2; Th= (u1+u2)/2; Image1= (ImageInTh); S2=sum(sum(Image2); u2= sum(sum(Image2.*ImageIn)/S2;endImageOut = uint8(ImageIn Th)*255;subplot(1,2,2);imshow(ImageOut);实验2大津算法ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn) ImageGray = 0:255;ImageBar = ImageGray;m,n = size(ImageIn);for i1 = 1:n ImageBar(i1) = sum(sum(ImageIn = ImageGray(i1);endSumAll =sum(ImageGray.*ImageBar);nAll=n*m;SdList=zeros(1,256); for i1=2:n-1 n0=sum(ImageBar(1:i1); Sum0=sum(ImageGray(1:i1).*ImageBar(1:i1); n1=nAll-n0; Sum1=SumAll-Sum0; if n00 & n10 u0=Sum0/n0; u1=Sum1/n1; SdList(i1)=n0*n1*(u0-u1)2; endendTh=find(SdList=max(SdList)ImageOut=uint8(ImageInTh)*255;ImageOut=uint8(ImageOut);subplot(1,2,2);imshow(ImageOut)实验3金字塔型ImageIn=imread(lenaGray.tiff);subplot(1,2,1);imshow(ImageIn) ImageIn=ImageIn(1:(size(ImageIn,1)-mod(size(ImageIn,1),4),1:(size(ImageIn,2)-mod(size(ImageIn,2),4);ImageOut=ImageIn(1:size(ImageIn,1)/4,1:size(ImageIn,2)/4); for i1=1:4:size(ImageIn,1) for i2=1:4:size(ImageIn,2) i3=uint8(i1/4+1); i4=uint8(i2/4+1); ImageOut(i3,i4)=uint8(sum(sum(ImageIn(i1:i1+3,i2:i2+3)/16); endend subplot(1,2,2);imshow(ImageOut)边缘检测实验1线的检测clearclcImageIn=imread(03.bmp);sub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 恋爱考试题及答案
- 坏账考试题及答案
- 电工培训考核试题及答案
- 2025年二手货车抵押融资合同
- 2025年通信线路接地系统施工合同样本
- 2025年度制造业实习生劳动合同范本
- 2025大师傅餐饮企业品牌推广合同
- 2025版桥梁工程劳务分包合同(含工期管理)
- 2025年度房屋抵押贷款利率调整合同范本
- 基于2025年燃气管道更新的社会稳定风险评估与风险管理策略分析报告
- (2025年标准)动火安全协议书
- 2026届广州市高三年级阶段训练(8月市调研摸底) 数学试卷(含答案解析)
- 动物防疫检疫试题(附答案)
- 沙石码头经营方案(3篇)
- 2025年粉笔辅警考试题库
- 2025个人房屋租赁合同范本下载
- 水声传感器技术研究与应用
- 能源环保管理办法
- caac理论考试题库及答案
- 电气安全基础知识安全培训
- 残疾人家庭无障碍改造投标方案(技术标)
评论
0/150
提交评论