实验三MATLAB图像处理基本操作及摄像机标定(DLT).doc

实验三MATLAB图像处理基本操作及摄像机标定(DLT).doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验三 MATLAB图像处理基本操作及摄像机标定(DLT) 实验三 Matlab图像处理基本操作及摄像机标定(DLT) (DLT)1、实验目的 通过应用Matlab的图像处理基本函数,学习图像处理中的一些基础操作和处理。 理解摄像机标定(DLT)方法的原理,并利用程序实现摄像机内参数和外参数的估计。 。 2、实验内容: 1) 读取一幅图像并显示。 2) 检查内存(数组)中的图像。 3) 实现图像直方图均衡化。 4) 读取图像中像素点的坐标值。 5) 保存图像。 6) 检查新生成文件的信息。 7) 使用阈值操作将图像转换为二值图像。 8) 根据RGB图像创建一幅灰度图像。 9) 调节图像的对比度。 10) 在同一个窗口内显示两幅图像。 11) 掌握matlab命令及函数,获取标定块图像的特征点坐标。 12) 根据摄像机标定(DLT)方法原理,编写Matlab程序,估计摄像机内参数和12) 外参数。 3、实验要求: 1) 选取一幅图像,根据实验内容1)—10)给出结果。 2) 根据给定的标定块图像及实验内容11),12)进行编程实验。 3) 书写实验报告 4、实验设备 1) 微机。 2) Matlab软件。 5、实验原理 DLT变换: Abdal-Aziz和Karara于70年代初提出了直接线性变换像机定标的方法,他们从摄影测量学的角度深入的研究了像机图像和环境物体之间的关系,建立了像机成像几何的线性模型,这种线性模型参数的估计完全可以由线性方程的求解来实现。 直接线性变换是将像点和物点的成像几何关系在齐次坐标下写成透视投影矩阵的形式: X,,wu,,,, Y,,w,,,svP 3,4,,,,Zw ,,1,,,,1,, 为图像坐标系下的点的齐次坐标, 为世界坐标系下的空其中 ,,,,u,v,1X,Y,Zwww 间点的欧氏坐标, P为3*4的透视投影矩阵, 为未知尺度因子。 消去S,可以得到方程组: pX,pY,pZ,p,puX,puY,puZ,pu,011w12w13w1431w32w33w34 pX,pY,pZ,p,puX,puY,puZ,pu,021w22w23w1431w32w33w34 当已知N个空间点和对应的图像上的点时,可以得到一个含有2*N个方程的方程组: AL,0 其中A为(2N*12)的矩阵, L为透视投影矩阵元素组成的向量: T ,,p,p,p,p,p,p,p,p,p,p,p,p111213142122232431323334 ||AL||像机定标的任务就是寻找合适的L,使得为 最小,即 min || AL || L 给出约束: p,134 'T,1T L,,(CC)CB L‘为L的前11个元素组成的向量, C为A前11列组成的矩阵, B为A前12列组成的向量。 6、程序代码 I=imread ('DSCN0831.JPG'); imshow(I); whos figure, I1=rgb2gray(I); figure,imshow(I1) imhist(I1); I2=histeq(I1) figure,imshow(I2) figure,imhist(I2) a=imread('DSCN0831.JPG') imwrite(I1,'DSgray.jpg'); imwrite(I2,'DSgrayeq.jpg'); inf=imfinfo('DSCN0831.JPG') ? level=graythresh(I2); bw=im2bw(I2,level); figure,imshow(bw) whos I3=imadjust(I2,stretchlim(I2),[0 1]); figure,imshow(I3); a=imread('DSCN0831.JPG'); b=imread('DSgray.jpg'); subplot(1,2,1),imshow(a); subplot(1,2,2),imshow(b); clear; xpot=[]; ypot=[]; imshow('DSCN0831.JPG'); hold on; n=input('Please input the number of pot:'); for i=1:n [x,y]=ginput(1); plot(x,y,'or'); text(x+1,y+1,num2str(i)); xpot=[xpot,x]; ypot=[ypot,y]; end [xpot;ypot] [xw;yw;zw] a=[xw',yw',zw',ones([100 1]),zeros([100 4]),(-1)*xpot

文档评论(0)

kirin + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体李**

1亿VIP精品文档

相关文档

相关课程推荐