ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:25.75KB ,
资源ID:5533762      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5533762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Harris原理的亚像素角点坐标检测Matlab程序word格式可编辑.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Harris原理的亚像素角点坐标检测Matlab程序word格式可编辑.docx

1、基于Harris原理的亚像素角点坐标检测Matlab程序word格式可编辑基于Harris原理的亚像素角点坐标检测Matlab程序word格式可编辑基于Harris原理的亚像素角点坐标检测Matlab程序 ?注意:直接运行click_calib .m文件即可获得亚像素级角点坐标,附录?中的其它函数文件均会被click_calib .m文件调用。 click_calib .m % % 测量亚像素角点坐标的主函数 var2fix = dX_default; fixvariable; % 调用fixvariable.m文件,修正变量 var2fix = dY_default; fixvariable

2、; var2fix = map; fixvariable; if exist(n_ima), data_calib; % 调用data_calib.m文件,输入图像名和格式,%检查文件中的图像并读取标定图像信息 end; check_active_images; % 调用check_active_images.m文件,检查是%否已读取到标定图像 if exist(I_ num2str(ind_active(1), ima_read_calib; if isempty(ind_read), disp(Cannot extract corners without images); return;

3、end; end; fprintf(1,nExtraction of the grid corners on the imagesn); if (exist(map)=1), map = gray(256); end; if exist(dX), dX_default = dX; end; if exist(dY), dY_default = dY; end; if exist(n_sq_x), n_sq_x_default = n_sq_x; end; if exist(n_sq_y), n_sq_y_default = n_sq_y; end; if exist(dX_default)|e

4、xist(dY_default); dX_default = 30; dY_default = 30; % 设靶标平面X和Y方向上方格的默认距离%为30mm end; if exist(n_sq_x_default)|exist(n_sq_y_default), n_sq_x_default = 10; n_sq_y_default = 10; % 设在靶标平面的x和y方向上提取的角点%数的默认值均为10end; if exist(wintx_default)|exist(winty_default), wintx_default = max(round(nx/128),round(ny/96

5、); winty_default = wintx_default; clear wintx winty end; if exist(wintx) | exist(winty), clear_windows; % 调用clear_windows.m文件,清除窗口 end; if exist(dont_ask), dont_ask = 0; end; if dont_ask, ima_numbers = input(Number(s) of image(s) to process ( = all images) = ); else ima_numbers = ; end; if isempty(i

6、ma_numbers), ima_proc = 1:n_ima; else ima_proc = ima_numbers; end; kk_first = ima_proc(1); % 输入(Start image number (=1=first): ); if exist(wintx_ num2str(kk_first), eval(wintxkk = wintx_ num2str(kk_first) ;); if isempty(wintxkk) | isnan(wintxkk), disp(Window size for corner finder (wintx and winty):

7、); wintx = input(wintx ( = num2str(wintx_default) ) = ); if isempty(wintx), wintx = wintx_default; end; wintx = round(wintx); winty = input(winty ( = num2str(winty_default) ) = ); if isempty(winty), winty = winty_default; end; winty = round(winty); fprintf(1,Window size = %dx%dn,2*wintx+1,2*winty+1)

8、; end; else disp(Window size for corner finder (wintx and winty):); wintx = input(wintx ( = num2str(wintx_default) ) = ); if isempty(wintx), wintx = wintx_default; end; wintx = round(wintx); winty = input(winty ( = num2str(winty_default) ) = ); if isempty(winty), winty = winty_default; end; winty =

9、round(winty); fprintf(1,Window size = %dx%dn,2*wintx+1,2*winty+1); end; if dont_ask, fprintf(1,Do you want to use the automatic square counting mechanism (0=default)n); manual_squares = input( or do you always want to enter the number of squares manually (1,other)? ); if isempty(manual_squares), man

10、ual_squares = 0; else manual_squares = manual_squares; end; else manual_squares = 0; end; for kk = ima_proc, if exist(I_ num2str(kk), click_ima_calib; % 调用click_ima_calib.m文件,点击图像边%界的4个顶点,从而划出边线 active_images(kk) = 1; else eval(dX_ num2str(kk) = NaN;); eval(dY_ num2str(kk) = NaN;); eval(wintx_ num2s

11、tr(kk) = NaN;); eval(winty_ num2str(kk) = NaN;); eval(x_ num2str(kk) = NaN*ones(2,1);); eval(X_ num2str(kk) = NaN*ones(3,1);); eval(n_sq_x_ num2str(kk) = NaN;); eval(n_sq_y_ num2str(kk) = NaN;); end; end; check_active_images; for kk = 1:n_ima, if exist(x_ num2str(kk), eval(dX_ num2str(kk) = NaN;); e

12、val(dY_ num2str(kk) = NaN;); eval(x_ num2str(kk) = NaN*ones(2,1);); eval(X_ num2str(kk) = NaN*ones(3,1);); eval(n_sq_x_ num2str(kk) = NaN;); eval(n_sq_y_ num2str(kk) = NaN;); end; if exist(wintx_ num2str(kk) | exist(winty_ num2str(kk), eval(wintx_ num2str(kk) = NaN;); eval(winty_ num2str(kk) = NaN;)

13、; end; end; string_save = save calib_data active_images ind_active wintx winty n_ima type_numbering N_slots first_num image_numbers format_image calib_name Hcal Wcal nx ny map dX_default dY_default dX dY wintx_default winty_default; for kk = 1:n_ima, string_save = string_save X_ num2str(kk) x_ num2s

14、tr(kk) n_sq_x_ num2str(kk) n_sq_y_ num2str(kk) wintx_ num2str(kk) winty_ num2str(kk) dX_ num2str(kk) dY_ num2str(kk); end; eval(string_save); disp(done); for lamp = 1:Nima_valid dog1=x_ num2str(lamp); name1=x num2str(lamp) .txt; save( name1,dog1,-ascii); dog2=X_ num2str(lamp); name2=M num2str(lamp)

15、.txt; save( name2,dog2,-ascii); end return; % fixvariable .m % % 修正变量 if exist(var2fix)=1, if eval(exist( var2fix ) = 1), if eval(isempty( var2fix ), eval(clear var2fix ); else if eval(isstruct( var2fix ), if eval(iscell( var2fix ), if eval(isnan( var2fix (1), eval(clear var2fix ); end; end; end; en

16、d; end; end; % data_calib .m % % 人工输入图像基名和格式,寻找、读取并显示出所有标定图像 l_ras = dir(*ras); s_ras = size(l_ras,1); l_bmp = dir(*bmp); s_bmp = size(l_bmp,1); l_tif = dir(*tif); s_tif = size(l_tif,1); l_pgm = dir(*pgm); s_pgm = size(l_pgm,1); l_ppm = dir(*ppm); s_ppm = size(l_ppm,1); l_jpg = dir(*jpg); s_jpg = si

17、ze(l_jpg,1); s_tot = s_ras + s_bmp + s_tif + s_pgm + s_jpg + s_ppm; if s_tot 0, for pp = 1:Nl, filenamepp = l(pp).name; %第pp幅图像的名字 if isempty(calib_name), iii = 1; else iii = findstr(filenamepp,calib_name); end; loc_ext = findstr(filenamepp,format_image); string_num = filenamepp(length_name+1:loc_ex

18、t - 2); if isempty(str2num(string_num), iii = ; end; if isempty(iii), %如果iii非空 if (iii(1) = 1), %又如果iii(1) != 1,则将iii置空 iii = ; end; end; if isempty(iii) & isempty(loc_ext), Nima_valid = Nima_valid + 1; ind_valid = ind_valid pp; %第几个文件的下标是正确的 loc_extension = loc_extension loc_ext(1); end; end; if (N

19、ima_valid=0), format_image = upper(format_image); for pp = 1:Nl, filenamepp = l(pp).name; if isempty(calib_name), iii = 1; else iii = findstr(filenamepp,calib_name); end; loc_ext = findstr(filenamepp,format_image); string_num = filenamepp(length_name+1:loc_ext - 2); if isempty(str2num(string_num), i

20、ii = ; end; if isempty(iii), if (iii(1) = 1), iii = ; end; end; if isempty(iii) & isempty(loc_ext), Nima_valid = Nima_valid + 1; ind_valid = ind_valid pp; loc_extension = loc_extension loc_ext(1); end; end; if (Nima_valid=0), fprintf(1,No image found. File format may be wrong.n); else string_length

21、= zeros(1,Nima_valid); indices = zeros(1,Nima_valid); for ppp = 1:Nima_valid, name = l(ind_valid(ppp).name; string_num = name(length_name+1:loc_extension(ppp) - 2); string_length(ppp) = size(string_num,2);%数字的长度 indices(ppp) = str2num(string_num);%数字的大小-下标的顺序 end; first_num = min(indices); n_ima = m

22、ax(indices) - first_num + 1; if min(string_length) = max(string_length), N_slots = min(string_length); type_numbering = 1; else N_slots = 1; type_numbering = 0; end; image_numbers = first_num:n_ima-1+first_num; active_images = ones(1,n_ima); end; else string_length = zeros(1,Nima_valid); indices = z

23、eros(1,Nima_valid); for ppp = 1:Nima_valid, name = l(ind_valid(ppp).name; string_num = name(length_name+1:loc_extension(ppp) - 2); string_length(ppp) = size(string_num,2); indices(ppp) = str2num(string_num); end; first_num = min(indices); n_ima = max(indices) - first_num + 1; if min(string_length) = max(string_length), N_slots = min(string_length); type_numbering = 1; else N_slots = 1; type_numbering = 0; end; image_numbers = first_num:n_ima-1+first_num; active_images = ones(1,n_ima); end; else fprintf(1,No image found. Basename may b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1