版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程学习报告王流川工业摄影测量技术主要内容1.图像处理算法及其相关用户界面(1)将一幅彩色图像转化为灰度图像;(2)灰度变换(反转变换,对数变换,幂次变换);(3)直方图均衡化;(4)均值滤波和中值滤波;(5)拉普拉斯算子;(6)LoG算子、Canny算子2.轿车车门三维形貌测量,选择一款技术先进的视觉测量仪器。试给出测量仪器的型号、仪器图片、主要技术参数;详述其测量原理;说明选择它的理由。3.对本课程的意见和建议。GUI界面设计1.1彩色图像变灰度图像1.算法原理:彩色图像的RGB颜色分量,
fr(x,y)、fg(x,y)、fb(x,y)取值范围为0-255且每个分量各占8位,故每个像素需24位;灰度图像的RGB颜色分量,
Fr(x,y)=Fg(x,y)=Fb(x,y)=F(x,y);因此灰度图像对应的矩阵为一个二维数组。
转化方法:对彩色图像的RGB加权平均,关系如下:F(x,y)=0.299*fr(x,y)+0.587*fg(x,y)+0.114fb*(x,y)1.1彩色图像变灰度图像2.Matlab程序代码:I=handles.file;n=ndims(handles.file);ifn==3handles.Imamat=imlincomb(0.299,I(:,:,1),0.587,I(:,:,2),0.114,I(:,:,3));elseifn==1handles.Imamat=I;endaxes(handles.axes1);imshow(handles.Imamat);title('Gray')guidata(hObject,handles);转灰度图像效果1.2灰度变化-反转变换1.变换公式:s=L-1-rr为原像素灰度值,s为反转变换后像素灰度值2.Matlab程序代码:I=handles.Imamat;I1=255-I;axes(handles.axes2);imshow(I1);title('inversion')反转变换效果对比1.2灰度变化-对数变换1.变换公式:s=c*Log(1+r)2.Matlab程序代码:I=handles.Imamat;c=str2num(get(handles.edit1,'string'));I1=c*log(1+double(I));I1=im2uint8(mat2gray(I1));axes(handles.axes2);imshow(I1)title(‘对数变换’)3.主要功能:压缩图像亮区灰度值,拉伸暗区的灰度值,从而突出暗区的图像特征。对数变换效果对比1对数变换效果对比21.2灰度变化-幂次变换1.变换公式:s=a*double(I).^b2.Matlab程序代码:I=handles.Imamat;a=str2num(get(handles.edit2,'string'));b=str2num(get(handles.edit3,'string'));I1=a*double(I).^b;I1=im2uint8(mat2gray(I1));figure,imshow(I1)title('幂次变换')3.主要功能:增强图像对比度幂次变换效果对比1.3直方图均衡化1.基本原理:通过点运算使得输入图像转化为在某一灰度级上都有相同的像素点数的输出。直方图均衡化变换公式:1.3直方图均衡化2.Matlab程序代码:I=handles.Imamat;[m,n]=size(I);M=zeros(1,256);fork=0:255M(k+1)=length(find(I==k))/(m*n);endS1=zeros(1,256);fori=1:256forj=1:iS1(i)=M(j)+S1(i);endendS2=round(S1*255);P=I;fori=0:255P(find(I==i))=S2(i+1);endaxes(handles.axes2);imshow(P)title('直方图均衡化后图像')灰度直方图均衡化前后对比1.4平滑滤波-均值滤波1.基本原理:均值滤波为典型的线性滤波算法,它是指在图像上对目标像素给一个滤波模板。通过灰度矩阵与3*3的平均模板作乘积来实现。作用:(1)减噪(2)边缘模糊常用模板:1.4平滑滤波-均值滤波2.Matlab程序代码:%step1.输入滤波模板大小;prompt='请输入滤波模板大小,如n*n,输入n,且n取>=3的奇数';dlg_title='Templatesize';num_lines=1;%输入对话框的行数;default_val={'3'};%默认的值;answer=inputdlg(prompt,dlg_title,num_lines,default_val);s=str2num(answer{1});%step2.判断输入值是否为大于或等于3的奇数,若不为奇数,错误,若为奇数,执行模板权重输入;if(s<3|mod(s,2)==0)errordlg('请输入大于或等于3的奇数','输入错误');else1.4平滑滤波-均值滤波%step3.根据已输入的模板大小,生成默认简单均值模板,如需修改权重值,直接修改即可;prompt='请确认或修改滤波模板权重';dlg_title='Templatesize';num_lines=s;%输入对话框的行数;str=num2str(ones(s));default_val={str};%默认的值;answer=inputdlg(prompt,dlg_title,num_lines,default_val);A=str2num(answer{1});%step4.权重确认或修改完成后,进行模板滤波操作;t=(s-1)/2;I=handles.Imamat;[m,n]=size(I);f=zeros(m+2*t,n+2*t);f(1+t:m+t,1+t:n+t)=I;1.4平滑滤波-均值滤波fori=1:tf(i,:)=f(1+t,:);f(m+t+i,:)=f(m+t,:);f(:,i)=f(:,1+t);f(:,n+t+i)=f(:,n+t);endfori=1+t:m+tforj=1+t:n+tf1=f(i-t:i+t,j-t:j+t);b=f1.*A/sum(A(:));f2(i-t,j-t)=sum(b(:));endendF=uint8(f2);%step5.显示滤波后图像;axes(handles.axes2);imshow(F);title('average-filtering');end均值滤波效果对比
(读取灰度图像并设定滤波模板大小)均值滤波效果对比
(根据已输入模板大小生成默认滤波模板)均值滤波效果对比
(在默认滤波模板基础上可任意修改各权重值)均值滤波效果对比
(滤波后效果如下)1.4平滑滤波-中值滤波1.基本原理:中值滤波是一种非线性平滑技术,它把数字图像中一点的值用该点的一个邻域中各点值的中值代替。作用:对处理脉冲噪声(椒盐噪声)特别有效2.Matlab程序代码:
%step1.输入滤波模板大小;prompt='请输入滤波模板大小,如n*n,输入n,且n取>=3的奇数';dlg_title='Templatesize';num_lines=1;%输入对话框的行数;default_val={'3'};%默认的值;answer=inputdlg(prompt,dlg_title,num_lines,default_val);s=str2num(answer{1});1.4平滑滤波-中值滤波%step2.判断输入值是否为大于或等于3的奇数,若不为奇数,错误,若为奇数,执行模板权重输入;if(s<3|mod(s,2)==0)errordlg('请输入大于或等于3的奇数','输入错误');else%step3.根据已输入的模板大小,进行滤波操作;t=(s-1)/2;S=s^2;T=(S+1)/2;I=handles.Imamat;[m,n]=size(I);f=zeros(m+2*t,n+2*t);f(1+t:m+t,1+t:n+t)=I;fori=1:tf(i,:)=f(1+t,:);f(m+t+i,:)=f(m+t,:);f(:,i)=f(:,1+t);f(:,n+t+i)=f(:,n+t);end1.4平滑滤波-中值滤波fori=1+t:m+tforj=1+t:n+tf1=f(i-t:i+t,j-t:j+t);b=reshape(f1,S,1);forl=1:S-1fork=1:S-lifb(k)>b(k+1)tem=b(k);b(k)=b(k+1);b(k+1)=tem;endendendf2(i-t,j-t)=b(T);endendF=uint8(f2);%step4.显示滤波后图像;axes(handles.axes2);imshow(F);title('medianfiltering');end中值滤波效果对比
(输入滤波模板大小)中值滤波效果对比
(滤波完成)1.5拉普拉斯算子1.算法目的:突出图像中的细节或增强被模糊了的图像细节1.5拉普拉斯算子2.Matlab程序代码:I=handles.Imamat;[m,n]=size(I);f=zeros(m+2,n+2);f(2:m+1,2:n+1)=I;f(1,:)=f(2,:);f(m+2,:)=f(m+1,:);f(:,1)=f(:,2);f(:,n+2)=f(:,n+1);laplace=[010;1-41;010];fori=2:m+1forj=2:n+1f1=f(i-1:i+1,j-1:j+1);f2=f1.*laplace;F(i,j)=sum(sum(f2));endendM=uint8(F);axes(handles.axes2);imshow(M)title('laplace变换')拉普拉斯算子滤波效果对比1.6边缘提取-LoG算子1.LoG(LaplacianofGaussian)算法:高斯滤波+拉普拉斯边缘检测LoG边缘检测的基本特征:(1)平滑滤波器是高斯滤波器(2)增强步骤采用二阶导数(二维Laplace函数)(3)边缘检测依据是二阶导数零交叉点并对应一阶导数的较大峰值(4)使用线性内插方法在亚像素分辨率水平上估计边缘的位置1.6边缘提取-LoG算子2.Matlab程序代码:%step1.高斯平滑滤波与Laplace锐化增强I=handles.Imamat;[m,n]=size(I);m1=m+6;n1=n+6;ff0=zeros(5);ff1=zeros(m1,n1);ff2=zeros(m,n);ff3=zeros(5);log=[00-100;0-1-2-10;-1-216-2-1;0-1-2-10;00-100];ff1(7:m+6,7:n+6)=I;ff1(1,:)=ff1(4,:);ff1(2,:)=ff1(4,:);ff1(3,:)=ff1(4,:);ff1(m1,:)=ff1(m1-3,:);ff1(m1,:)=ff1(m1-2,:);ff1(m1,:)=ff1(m1-1,:);1.6边缘提取-LoG算子ff1(:,1)=ff1(:,4);ff1(:,2)=ff1(:,4);ff1(:,3)=ff1(:,4);ff1(:,n1)=ff1(:,n1-3);ff1(:,n1)=ff1(:,n1-2);ff1(:,n1)=ff1(:,n1-1);fori=1:mforj=1:nff0=ff1(i:i+4,j:j+4);ff3=ff0.*log;ff5(i,j)=sum(sum(ff3));endend1.6边缘提取-LoG算子%step2.边缘检测依据是二阶导数零交叉点并对应一阶导数的较大峰值;thresh=100*graythresh(I).*1;e=repmat(logical(uint8(0)),m,n);rr=2:m-1;cc=2:n-1;[rx,cx]=find(ff5(rr,cc)<0&ff5(rr,cc+1)>0&abs((ff5(rr,cc)-ff5(rr,cc+1))>thresh));e((rx+1)+cx*m)=1;[rx,cx]=find(ff5(rr,cc-1)>0&ff5(rr,cc)<0&abs((ff5(rr,cc-1)-ff5(rr,cc))>2*thresh));e((rx+1)+cx*m)=1;[rx,cx]=find(ff5(rr,cc)<0&ff5(rr+1,cc)>0&abs((ff5(rr,cc)-ff5(rr+1,cc))>thresh));e((rx+1)+cx*m)=1;[rx,cx]=find(ff5(rr-1,cc)>0&ff5(rr,cc)<0&abs((ff5(rr-1,cc)-ff5(rr,cc))>2*thresh));e((rx+1)+cx*m)=1;[rz,cz]=find(ff5(rr,cc)==0);1.6边缘提取-LoG算子%step3.使用线性内插方法在亚像素分辨率水平上估计边缘的位置if~isempty(rz)zero=(rz+1)+cz*m;zz=find(ff5(zero-1)<0&(zero+1)>0&abs(ff5(zero+1)-ff5(zero-1))>thresh);e(zero(zz))=1;zz=find(ff5(zero-1)>0&(zero+1)<0&abs(ff5(zero+1)-ff5(zero-1))>thresh);e(zero(zz))=1;zz=find(ff5(zero-m)<0&(zero+m)>0&abs(ff5(zero+m)-ff5(zero-m))>thresh);e(zero(zz))=1;zz=find(ff5(zero-m)<0&(zero+m)>0&abs(ff5(zero+m)-ff5(zero-m))>thresh);e(zero(zz))=1;endff2=e(8:m,8:n);axes(handles.axes2);imshow(ff2);title('LoG')LOG算子边缘提取效果对比1.6边缘提取-Canny算子1.Canny边缘检测原理:(1)用高斯滤波器平滑图像(2)用2x2一阶有限差分近似式来计算梯度的幅值和方向(3)对梯度幅值进行非极大值抑制(4)用双阈值算法检测和连接边缘1.6边缘提取-Canny算子2.Matlab程序代码:I=handles.Imamat;I=double(I);[m,n]=size(I);%Step1.用高斯滤波器平滑图像;gaussian=[1/792/793/792/791/79;2/794/796/794/792/79;3/796/797/796/793/79;2/794/796/794/792/79;1/792/793/792/791/79];I1=conv2(I,gaussian);%Step2.用一阶偏导的有限差分来计算梯度的幅值和方向;H1=[-1-1;11];H2=[1-1;1-1];fx=conv2(I1,H1);fy=conv2(I1,H2);f=sqrt(fx.^2+fy.^2);a=atan(fx./eps(fy));1.6边缘提取-Canny算子fori=1:mforj=1:nif(a(i,j)>-pi/8&a(i,j)<=pi/8)a(i,j)=0;elseif(a(i,j)>pi/8&a(i,j)<=3*pi/8)a(i,j)=1;elseif(a(i,j)>3*pi/8|a(i,j)<=-3*pi/8)a(i,j)=2;elsea(i,j)=3;endendend1.6边缘提取-Canny算子%Step3.对梯度幅值进行非极大值抑制;F=f;fori=2:(m-1)forj=2:(n-1)switch(a(i,j))case0if(F(i,j)<=F(i,j-1)|F(i,j)<=F(i,j+1))f(i,j)=0;endcase1if(F(i,j)<=F(i-1,j+1)|F(i,j)<=F(i+1,j-1))f(i,j)=0;endcase2if(F(i,j)<=F(i-1,j)|F(i,j)<=F(i+1,j))f(i,j)=0;endcase3if(F(i,j)<=F(i-1,j-1)|F(i,j)<=F(i+1,j+1))f(i,j)=0;endendendend1.6边缘提取-Canny算子%Step4:用双阈值算法检测和连接边缘。t1=str2num(get(handles.edit4,'string'));t2=str2num(get(handles.edit5,'string'));Canny_1=zeros(m,n);Canny_2=zeros(m,n);fori=1:mforj=1:nif(f(i,j)>=t1)Canny_1(i,j)=255;elseCanny_1(i,j)=0;endif(f(i,j)>=t2)Canny_2(i,j)=255;elseCanny_2(i,j)=0;endendend1.6边缘提取-Canny算子fori=2:(m-1)forj=2:(n-1)if(Canny_2(i,j)==255)if(Canny_1(i-1,j-1)==255)Canny_2(i-1,j-1)=255;endif(Canny_1(i-1,j)==255)Canny_2(i-1,j)=255;endif(Canny_1(i-1,j+1)==255)Canny_2(i-1,j+1)=255;endif(Canny_1(i,j-1)==255)Canny_2(i,j-1)=255;endif(Canny_1(i,j+1)==255)Canny_2(i,j+1)=255;endif(Canny_1(i+1,j-1)==255)Canny_2(i+1,j-1)=255;endif(Canny_1(i+1,j)==255)Canny_2(i+1,j)=255;endif(Canny_1(i+1,j+1)==255)Canny_2(i+1,j+1)=255;endendendend1.6边缘提取-Canny算子Canny=Canny_2;Canny(1:3,:)=zeros(3,n);Canny(:,1:5)=zeros(m,5);Canny(:,n)=zeros(m,1);figure,imshow(Canny,[]);title('Canny');Canny算子边缘提取效果对比2.三维测量仪器选择
(深圳华朗Holon-3DS(标准型))2.三维测量仪器选择
(深圳华朗Holon-3DS(标准型))2.三维测量仪器选择
(深圳华朗Holon-3DS(标准型))基本原理简介:结构光三维扫描仪的基本原理是:采用一种结合结构光技术、相位测量技术、计算机视觉技术的复合三维非接触式测量技术。采用这种测量原理,使得对物体进行照相测量成为可能,所谓照相测量,就是类似于照相机对视野内的物体进行照相,不同的是照相机摄取的是物体的二维图象,而研制的测量仪获得的是物体的三维信息。与传统的三维扫描仪不同的是,该扫描仪能同时测量一个面。测量时光栅投影装置投影数幅特定编码的结构光到待测物体上,成一定夹角的两个摄像头同步采得相应图象,然后对图象进行解码和相位计算,并利用匹配技术、三角形测量原理,解算出两个摄像机公共视区内像素点的三维坐标。2.三维测量仪器选择
(深圳华朗Holon-3DS(标准型))关键技术——结构光技术
这种主动三维测量技术采用不同的投射装置向被测物体投射不同种类的结构光,并拍摄经被测物体表面调制而发生变形的结构光图像,然后从携带有被测物体表面三维形貌信息的图像中计算出被测物体的三维形貌数据。关键技术——相位测量技术相位主值计算相位移的基本思想是通过采集多帧有一定相移的条纹图像来计算包含有被测物体表面三维信息的相位主值。目前每种算法的稳定性和误差响应均不相同,因此相位移算法的选取对相位计算及后续三维重建精度有重要的影响。目前相移算法主要有:标准N步相移法或等间距满周期法、N帧平均算法、N+1步相移算法和任意等步长相移算法等。标准N帧相移算法对系统的随机噪声具有最佳的抑制作用,且对N-1次以下谐波误差不敏感,目前已成为结构光测量技术中使用最为广泛的一种相移算法。2.三维测量仪器选择
(深圳华朗Holon-3DS(标准型))关键技术——相位测量技术采用标准的四步相移算法计算光栅图像的相位主值,四幅光栅图像的光强表达式分别为:根据式1可计算出光栅图像的相位主值:2.三维测量仪器选择
(深圳华朗Holon-3DS(标准型))
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI技术助力传统风筝文化数字化创新
- 2025-2026学年盘筑成行教学设计
- 电力发电厂运维技师绩效衡量表
- 2025-2026学年物理 单元教学设计指南
- 软件项目经理软件开发及维护KPI考核表
- 关于新合同执行事宜协商函(4篇)范文
- 供冷供暖系统建设方案及技术措施
- 2026年糖尿病饮食运动干预指导专项考核试题(附答案)
- 中专护理学导论:护理学中的急诊护理
- 2026年校园普法教育教师测试试题(附答案)
- 2025年中国电子签产品市场独立研究报告
- 2025中国国际工程咨询有限公司总部社招笔试历年难易错考点试卷带答案解析
- 毛石混凝土挡墙专项施工方案
- DB11∕T 1578-2025 医疗机构危险化学品安全管理要求
- 老年衰弱的课件
- BW2025招商方案介绍
- 脑卒中健康知识培训课件
- 安全培训授课方法与技巧课件
- 2025陕西事业单位考试e类试题及答案
- 民法监护人课件
- 七年级摸底考试试题及答案
评论
0/150
提交评论