下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章一、选择题答案B解析:A选项角点是灰度变化剧烈的区域,错误;C选项边缘仅一个方向变化,不属于角点,错误;D选项平面区域灰度无变化,不易误判为角点,错误;B选项正确。B解析:cv2.goodFeaturesToTrack()是Shi-Tomasi角点检测的专用函数,A选项用cv2.cornerHarris(),C/D用cv2.SIFT_create()/cv2.ORB_create(),B正确。C解析:SIFT和SURF受专利保护,ORB是OpenCV开源免费的,C正确。B解析:暴力匹配穷举查询图每个特征点与训练图所有特征点的距离,A/C是FLANN的原理,D无依据,B正确。C解析:单应性矩阵描述坐标映射关系,A是特征检测的作用,B是特征计算的作用,D是匹配筛选的作用,C正确。二、填空题答案角点响应值;0.02~0.04;多(或密集)解析:k控制角点判定的宽松程度,值越小,更多疑似区域被判定为角点。32;128解析:ORB描述子32维,SIFT128维,低维度减少计算量,提高匹配速度。检查的邻域数量;高解析:checks越大,FLANN搜索越彻底,精度越高,但耗时增加。去除外点(或错误匹配对)解析:RANSAC算法能剔除不符合投影关系的错误匹配(外点),确保单应性矩阵准确。三、实操题答案代码示例:importcv2importnumpyasnp#1.读取棋盘格图像img=cv2.imread("chessboard.jpg",cv2.IMREAD_GRAYSCALE)ifimgisNone:print("图像读取失败!")exit()img_color=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)h,w=img.shape#2.定义3组k值k_values=[0.02,0.04,0.06]result_imgs=[]corner_counts=[]forkink_values:#Harris角点检测img_float=np.float32(img)dst=cv2.cornerHarris(img_float,blockSize=2,ksize=3,k=k)dst=cv2.dilate(dst,None)#统计角点数量threshold=0.01*dst.max()count=np.sum(dst>threshold)corner_counts.append(count)#绘制角点temp_img=img_color.copy()temp_img[dst>threshold]=[0,0,255]#添加标注cv2.putText(temp_img,f"k={k},Count={count}",(20,40),cv2.FONT_HERSHEY_SIMPLEX,1,(255,255,255),2)result_imgs.append(temp_img)#3.拼接结果图(水平拼接)final_img=np.hstack(result_imgs)#4.显示与保存cv2.imshow("HarriskParameterTuning",final_img)cv2.imwrite("harris_param_tune.jpg",final_img)#5.打印统计结果print("Harris角点检测参数统计:")fork,countinzip(k_values,corner_counts):print(f"k={k}:{count}个角点")print("结论:k值越小,检测到的角点越多,密集程度越高;k值越大,角点越少越稀疏。")cv2.waitKey(0)cv2.destroyAllWindows()2.代码示例:importcv2importnumpyasnp#1.读取目标图和场景图img_target=cv2.imread("target.jpg",cv2.IMREAD_COLOR)#目标图img_scene=cv2.imread("scene.jpg",cv2.IMREAD_COLOR)#场景图(gray_target=cv2.cvtColor(img_target,cv2.COLOR_BGR2GRAY)gray_scene=cv2.cvtColor(img_scene,cv2.COLOR_BGR2GRAY)ifimg_targetisNoneorimg_sceneisNone:print("图像读取失败!")exit()#2.ORB特征检测orb=cv2.ORB_create(nfeatures=1000)kp_tar,des_tar=orb.detectAndCompute(gray_target,None)kp_scene,des_scene=orb.detectAndCompute(gray_scene,None)#3.暴力匹配与筛选matcher=cv2.BFMatcher(cv2.NORM_HAMMING,crossCheck=False)matches=matcher.knnMatch(des_tar,des_scene,k=2)good_matches=[]form,ninmatches:ifm.distance<0.75*n.distance:good_matches.append(m)print(f"筛选后匹配对数:{len(good_matches)}")#4.绘制匹配结果img_matches=cv2.drawMatches(img_target,kp_tar,img_scene,kp_scene,good_matches[:30],None,flags=2)cv2.putText(img_matches,f"ORBMatches(Top30)",(20,40),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),2)#5.标记场景图中的目标(匹配对数>30时)img_marked=img_scene.copy()iflen(good_matches)>30:#提取场景图中的目标点坐标pts_scene=np.float32([kp_scene[m.trainIdx].ptformingood_matches])#计算目标点的最小/最大坐标,确定矩形框x_min,y_min=int(min(pts_scene[:,0])),int(min(pts_scene[:,1]))x_max,y_max=int(max(pts_scene[:,0])),int(max(pts_scene[:,1]))#绘制矩形框(绿色,线宽2)cv2.rectangle(img_marked,(x_min,y_min),(x_max,y_max),(0,255,0),2)cv2.putText(img_marked,"Target",(x_min,y_min-10),cv2.FONT_HERSHEY_SIMPLEX,1,(0,255,0),2)print("场景图中检测到目标,已标记!")else:cv2.putText(img_marked,"TargetNotDetected",(20,40),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),2)print("匹配对数不足,未检测到目标!")#6.显示与保存cv2.imshow("1.ORBMatches",img_matches)cv2.imshow("2.MarkedScene",img_marked)cv2.imwrite("target_matches.jpg",img_matche
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 搜索中考试题及答案
- 计算机行业市场前景及投资研究报告:大模型商业化Anthropic全球企业“AI首席执行官”
- 某化工厂技术革新准则
- 2026年电子信息设备出口贸易合同三篇
- AI与传统戏曲艺术的数字化保护与传承
- 2026年设备采购合规考核试题及答案
- 2026年冷藏、避光药品保管试题(附答案)
- 运动健康指导测试题及答案
- 用英语介绍秋天的特点
- 2026年口腔科消毒隔离规范试题
- 生产成本控制及核算数据表格模板
- 项目化教学工作汇报
- GJB3165A-2020航空承力件用高温合金热轧和锻制棒材规范
- 2025年国开电大合同法论述案例分析题题库(含答案)
- 国家审计案例425
- 现场施工人员管理制度
- 2020铁路路基工程施工安全技术规程
- 老年体检报告范文
- 国家开放大学2024年春季学期期末统一考试《外国文学专题》试题(试卷代号11308)
- 惊恐患者的护理
- 《临床技术操作规范病理学分册》医院用
评论
0/150
提交评论