基于相关系数影像匹配实习报告

合集下载

影像匹配实习报告

影像匹配实习报告

一、实习背景随着科技的不断发展,医学影像学已成为现代医学的重要组成部分。

影像匹配技术作为医学影像学的一个重要分支,在临床诊断、疾病治疗及科研等方面发挥着越来越重要的作用。

为了更好地掌握影像匹配技术,提升自己的专业素养,我于近期参加了影像匹配实习。

二、实习目的1. 熟悉影像匹配技术的基本原理和操作流程;2. 掌握常见疾病的影像匹配方法及诊断技巧;3. 提高自己的临床思维能力和实际操作能力;4. 为今后从事医学影像学相关领域的工作打下坚实基础。

三、实习内容1. 影像匹配基本原理及操作流程(1)影像匹配基本原理影像匹配技术是将不同时间、不同设备或不同部位获取的医学影像进行对比分析,以揭示疾病发生、发展及转归规律的一种技术。

其主要原理包括图像处理、特征提取、相似度计算等。

(2)影像匹配操作流程1)图像预处理:对原始影像进行滤波、去噪、增强等处理,提高图像质量;2)特征提取:从预处理后的图像中提取具有代表性的特征,如纹理、形状、结构等;3)相似度计算:采用合适的相似度度量方法,对提取的特征进行相似度计算;4)结果分析:根据相似度结果,对疾病发生、发展及转归进行诊断。

2. 常见疾病的影像匹配方法及诊断技巧(1)肺部疾病1)肺结节:通过影像匹配技术,观察结节大小、形态、密度等特征,结合病史、临床表现,判断良恶性;2)肺炎:分析影像特征,如病灶范围、形态、密度等,结合病史、临床表现,判断病原体及类型。

(2)心血管疾病1)冠状动脉粥样硬化:通过影像匹配技术,观察冠状动脉狭窄程度、斑块特征等,评估病变程度;2)心肌梗死:分析影像特征,如心肌缺血范围、坏死程度等,判断心肌梗死类型及预后。

3. 实际操作能力提升在实习过程中,我跟随导师参与多项影像匹配项目,实际操作经验不断积累。

通过实际操作,我掌握了以下技能:(1)熟练使用影像匹配软件,如ITK、OpenCV等;(2)熟悉各种图像处理方法,如滤波、去噪、增强等;(3)掌握特征提取方法,如纹理、形状、结构等;(4)具备一定的编程能力,能够独立完成影像匹配项目。

影像处理实习报告

影像处理实习报告

一、实习背景随着科技的飞速发展,医学影像处理技术在临床诊断和治疗中的应用越来越广泛。

为了更好地掌握影像处理技术,提高自己的专业技能,我在某三甲医院影像科进行了为期一个月的实习。

本次实习旨在了解影像处理的基本原理、操作流程以及在实际临床中的应用。

二、实习内容1. 影像处理基本原理(1)影像数据采集:实习期间,我了解了影像数据采集的基本原理,包括X射线、CT、MRI、超声等不同成像技术的数据采集方法。

(2)影像数据传输:影像数据采集后,需要通过传输设备将数据传输到影像处理工作站。

实习期间,我学习了网络传输、存储设备等方面的知识。

(3)影像处理算法:影像处理主要包括图像增强、分割、配准、融合等算法。

实习期间,我了解了这些算法的基本原理和应用场景。

2. 影像处理操作流程(1)图像预处理:实习期间,我学习了图像预处理的基本步骤,包括滤波、锐化、对比度增强等。

(2)图像分割:图像分割是将图像分割成若干个具有相同特征的区域。

实习期间,我学习了阈值分割、区域生长、边缘检测等方法。

(3)图像配准:图像配准是将不同时间或不同模态的图像进行对齐。

实习期间,我了解了基于特征点、基于模板匹配等配准方法。

(4)图像融合:图像融合是将不同模态的图像进行合成,以获得更丰富的信息。

实习期间,我学习了基于像素级、基于特征级、基于深度学习的融合方法。

3. 影像处理在实际临床中的应用(1)肿瘤诊断:实习期间,我参与了肿瘤影像诊断工作,学习了如何通过影像处理技术提高肿瘤的检出率和诊断准确性。

(2)心血管疾病诊断:实习期间,我了解了心脏CT、心脏MRI等影像数据在心血管疾病诊断中的应用,学习了如何利用影像处理技术提高诊断水平。

(3)神经系统疾病诊断:实习期间,我参与了神经系统疾病的影像诊断工作,学习了如何利用影像处理技术辅助诊断脑肿瘤、脑出血等疾病。

三、实习收获1. 提高了影像处理理论知识:通过本次实习,我对影像处理的基本原理、操作流程有了更深入的了解,为今后的工作打下了坚实的基础。

影像匹配实习报告

影像匹配实习报告

实习报告一、实习背景及目的随着科技的发展,计算机视觉领域取得了显著的成果,影像匹配技术在众多领域发挥着重要作用,如无人驾驶、无人机监测、图像搜索等。

为了更好地了解影像匹配技术及其应用,提高自己的实际操作能力,我参加了为期一个月的影像匹配实习。

本次实习的主要目的是学习影像匹配的基本原理,掌握相关算法,并实际操作影像匹配项目,从而提升自己在计算机视觉领域的专业素养。

二、实习内容与过程1. 实习前的准备在实习开始前,我首先对影像匹配技术的基本概念和相关算法进行了学习,包括特征提取、特征匹配、投影变换等。

此外,我还复习了Python编程和OpenCV库的使用,为实习打下了坚实的基础。

2. 实习内容实习期间,我主要进行了以下几个方面的学习与实践:(1) 特征提取:学习并实现了SIFT、SURF、ORB等特征提取算法,了解了它们的特点及适用场景。

(2) 特征匹配:掌握了FLANN、Brute-Force、KNN等特征匹配算法,并通过实验对比了它们的性能。

(3) 投影变换:学习了单应性矩阵和基础矩阵的概念,实现了RANSAC算法进行投影变换的估计。

(4) 实践项目:以无人机监测为例,实现了一个简单的影像匹配应用,包括图像预处理、特征提取、特征匹配、投影变换和结果展示等环节。

3. 实习中的困难与解决方法在实习过程中,我遇到了一些困难,如特征匹配算法在实际应用中的性能不稳定、投影变换估计时的误判问题等。

针对这些困难,我通过查阅资料、与同学和导师交流,不断尝试优化算法参数,提高了实习项目的准确性。

三、实习收获与反思通过本次实习,我对影像匹配技术有了更深入的了解,掌握了相关算法和实际操作方法。

同时,实习过程中遇到的困难也锻炼了我的解决问题和团队合作的能力。

然而,我也意识到自己在某些方面的不足,如对算法的理解不够深入、实际操作经验不足等。

在今后的工作中,我将继续努力学习,提高自己的专业素养,为将来的工作打下坚实的基础。

关于医学影像的实习报告范文(精选3篇)

关于医学影像的实习报告范文(精选3篇)

关于医学影像的实习报告范文(精选3篇)关于医学影像的实习报告范文(精选3篇)难忘的实习生活已经告一段落了,这次实习让你心中有什么感想呢?这时候就十分有必须要写一份实习报告了!在写之前,可以先参考范文喔!以下是小编精心整理的关于医学影像的实习报告范文(精选3篇),欢迎阅读与收藏。

医学影像的实习报告1 一、情况介绍医学影像学是将现代放射学、微电子学、电子计算机、图像处理等最新科技成果用于诊断、治疗疾病的一门新兴学科。

现代医学成像技术飞速发展,无论是普通 x 线、核素、超声照旧 x 线计算机体层摄影、磁共振成像等技术,影像的密度分辨率与空间分辨率大大提高,使各种影像相互配合、相互增补、相互印证,可以更清晰地展示人体的器官结构,结合病史、身子骨儿检查、化验等临床资料,进行综合分析,较着地提高了临床诊治水平。

目前学生已经通过了两年的基础医学、临床医学、医学影像学等系统的理论学习,进入到最后一年的理论和实践相结合的阶段——毕业实习阶段。

在 32 周的毕业实习中,使学生对医学影像学各方面的基本理论知识、基本操作及常见并高发病的诊断能较全面较系统地掌握,更好地完成实习使命,为他们此后的工作打下坚实的基矗。

二、实习目标通过毕业实习,明确做为医学院影像专业医疗事务工笔者的责任,树立良好的医德医风,掌握医学影像专业必备的基础理论、基本知识和基本技能,具有一定的自学和运用知识分析问题、解决问题的能力,毕业后能在地区级及以下医院卫生机构从事医学院影像技术及诊断工作。

具体要求是: (一)影像技术 1.熟悉各种检查方法,正确引导病人就医。

2.独立完成暗室技术与管理的各项工作。

3.能熟练地掌握 x 线机的操作方法并进行常规检查部位的普通 x 线摄影及造影,拍摄出符合诊断要求的 x 线片。

4.熟悉 x 线特殊检查技术,包孕高仟伏摄影、软 x 线摄影、数字 x 线检查及超声检查。

5.知道 ct 、 mri 、介入放射检查的操作规程要领及基本步骤。

影像实践实训报告(2篇)

影像实践实训报告(2篇)

第1篇一、实训背景随着科技的飞速发展,影像技术已经广泛应用于各个领域,如医疗、影视、广告等。

为了提高自己的专业技能,增强实际操作能力,我参加了本次影像实践实训。

本次实训旨在通过实际操作,掌握影像设备的操作方法,了解影像制作流程,提高影像制作水平。

二、实训目的1. 熟悉各类影像设备的操作方法,如摄像机、灯光、录音设备等。

2. 掌握影像拍摄的基本技巧,提高影像质量。

3. 了解影像制作流程,提高影像制作效率。

4. 培养团队合作精神,提高沟通协调能力。

三、实训内容1. 影像设备操作(1)摄像机操作:学习摄像机的基本操作,如开机、关机、拍摄、回放等。

(2)灯光操作:了解灯光的种类、用途,学习灯光布局、调整光线等。

(3)录音设备操作:学习录音设备的操作方法,如录音、回放、降噪等。

2. 影像拍摄技巧(1)构图:学习画面构图的基本原则,如三分法、对称法等。

(2)光线:掌握光线运用技巧,如逆光、侧光、顺光等。

(3)运动:了解摄像机运动的基本方式,如推拉、摇移、跟拍等。

3. 影像制作流程(1)前期策划:明确拍摄主题、对象、场景等。

(2)拍摄:根据前期策划进行拍摄,注意画面质量、光线、构图等。

(3)后期制作:对拍摄素材进行剪辑、调色、特效等处理。

四、实训过程1. 第一阶段:理论学习通过阅读教材、观看教学视频,了解影像设备操作、拍摄技巧、制作流程等相关知识。

2. 第二阶段:实践操作在指导下,进行实际操作练习,如摄像机操作、灯光调整、录音设备使用等。

3. 第三阶段:团队协作分组进行影像制作,从前期策划、拍摄到后期制作,培养团队合作精神。

4. 第四阶段:作品展示与评价将制作完成的影像作品进行展示,互相评价,总结经验。

五、实训成果1. 掌握了摄像机、灯光、录音设备等影像设备的操作方法。

2. 提高了影像拍摄技巧,制作的影像作品质量有所提高。

3. 了解了影像制作流程,提高了制作效率。

4. 培养了团队合作精神,提高了沟通协调能力。

影像的实习报告4篇

影像的实习报告4篇

影像的实习报告4篇影像的实习报告篇1在完成临床实习的任务之后,接下来进入了我的专业——医学影像学的实习阶段,我立志成为一名优秀的超声波诊断医师,实习将我向这个目标迈进了一步,虽然还有一段很长的距离,但只要努力加用心我相信这个距离会一步一步地缩小的。

进入实习后才发现,超声波远没有想象中的容易,在学校里学的理论知识主要是诊断,然而临床上所见的并非都是标准的声像图表现,不同的患者即时是正常结构形态也是各有千秋,开始的时候真的很困难,图像很多不认识,我的带教老师要求我先认识正常图像,正常图像认清之后,再记异常声像图表现,只有这样看到了异常图像才能准确的诊断出来,这就需要长期大量的接触病患,多看、多记,才能提高自己的诊断水平。

超声波还有一个关键就是手法,深入的手法必须靠在临床上的实践才能不断进步,手法的重要性在于有时即使你能诊断,若手法不到位打不到关键的理想的切面,病变未能清晰显示,诊断就无从谈起了,这就在于超声波的实时显像的特点,尤其是心脏超声波,婴幼儿的导管未闭,常常是很细微的,需要轻微的转动探头,仔细观察,手法稍一不到位,就会导致漏诊。

手法确实是一个艰难的学习过程,手力、臂力,都要用的.,特别遇到脂肪层较厚的患者,有时需要双手加压才能获得比较理想的图像,不然根本诊断不了,刚开始操作时只压个几分钟,手就开始使不上劲发起抖来,我想我也许应该像针灸推拿医师一样,练手力、指力等等的肢体力量练习,我以后一定加强手法练习。

超声波科主任赵老师说过:“手法这个东西要活,不能硬搬书本,比如说观察胎儿唇部,书上肯能会说,先找到胎儿的颏下,往上打唇部,其实当你颏下不好打而眼睛鼻子好打的时候可以选择往下找打唇部,反而更容易一些。

”由此看出手法需要一定的领悟能力,多做,不断总结,才能提高手法技能。

刚开始实习确实心比较急,理论在实践的过程中,因为差距而不断遇到障碍,但是只要坚持,这样一段过程总会成为过去,渐渐的熟悉明了:看到肾盂积液下一步开始找结石; 胆囊内的高回声,让患者翻身,动则为结石,不移动则为息肉; 看到肝脏的声像图出现声晕征即为肝占位性病变,看到肠管明显扩张考虑肠梗阻等理论和实践渐渐联系起来了,我也逐渐进步了。

影像实习报告范文

影像实习报告范文

影像实习报告范文影像学实习报告一、实习目的本次影像学实习的主要目的是通过实践操作,加深对影像学理论知识的理解,掌握影像学检查的基本技能,培养临床思维和实际操作能力。

二、实习内容1. 影像学基础理论学习- 影像学原理- 影像学设备操作流程- 不同类型影像检查的适应症和禁忌症2. 影像学设备操作实践- X光机、CT、MRI等设备的使用- 影像学检查的标准化流程3. 影像学诊断能力培养- 影像学图像的解读- 常见疾病的影像学表现4. 临床实践- 跟随医生进行临床诊断- 参与病例讨论三、实习过程1. 理论学习在实习的初期,我通过阅读教材、参加讲座和研讨会,对影像学的基础理论有了更深入的理解。

我学习了X光、CT、MRI等影像学检查的原理和操作流程。

2. 设备操作在导师的指导下,我逐步熟悉了各种影像学设备的操作方法。

我学会了如何调整设备参数,确保检查的准确性和安全性。

3. 诊断能力培养通过观察和分析大量的影像学图像,我学会了识别和解读各种疾病的影像学特征。

我参与了多次病例讨论,提高了自己的临床诊断能力。

4. 临床实践在实习的后期,我跟随资深医生参与了临床诊断。

我观察了医生如何根据影像学检查结果,结合患者的临床症状,做出准确的诊断。

四、实习心得通过这次实习,我不仅掌握了影像学检查的基本技能,还提高了自己的临床思维能力。

我深刻体会到,影像学检查是诊断疾病的重要手段,但也需要结合患者的具体情况进行综合分析。

五、实习总结1. 掌握了影像学检查的基本操作流程和设备使用方法。

2. 学会了如何解读影像学图像,识别常见疾病的影像学特征。

3. 培养了临床思维能力,提高了临床诊断的准确性。

4. 认识到影像学检查在临床诊断中的重要性,以及与其他医学领域的交叉应用。

六、建议与展望1. 建议加强影像学与临床实践的结合,提高实习生的实际操作能力。

2. 展望未来,影像学技术将不断发展,为疾病的诊断和治疗提供更多可能。

通过本次实习,我对影像学有了更全面的认识,也为自己的医学生涯打下了坚实的基础。

基于相关系数法分区影像匹配的研究

基于相关系数法分区影像匹配的研究


1 m·n
(
mn
∑∑g
i = 1j = 1
i,j )
(
mn
∑∑g'
i = 1j = 1
i
+
r,j +
c
)
槡[ ] [ ] m n i∑= 1j∑= 1g2i,j

1 m·n
(
mn
∑∑g
i = 1j = 1
i,j )
2
mn
i∑= 1j∑= 1g'2i + r,j + c

1 m·n
(
mn
∑∑g'
i = 1j = 1
右影像灰度函数为 g'( x,y) ,搜索窗口中心像素为( i +
r,j + c) ,则两窗口间相关系数的值为:
mn
ρ( c,r) =
∑∑(
i = 1j = 1
gi,j
- 珔g) (
g'i + r,j + c
- 珔g')
mn
mn
槡∑∑( i = 1j = 1
gi,j
- 珔g) 2·∑∑( i = 1j = 1
1前言
影像匹配实质上是在两幅或多幅影像上识别同名 点的过程,同名点的确定是以匹配测度为基础的。目 前,影像匹配的算法主要分为基于灰度的匹配和基于 特征的匹配。相关系数法是一种基于灰度的匹配[1], 它还可 作 为 其 他 匹 配 如 最 小 二 乘 法 等 算 法 的 初 匹 配[2]。这种方法基于统计理论,对像点进行灰度检测, 并利用一定的算法进行相似性度量,即计算相关系数。 当相关系数最大时,就认为是同名像点。采用核线影 像作为数据源时,这种方法计算量更小,简单易行,且 其匹配精度可达到一个像素。但是,相关系数法影像 匹配常采用整体影像匹配方式,匹配精度容易受到两 幅( 或多幅) 影像灰度及纹理不一致的影响,笔者在试 验的基础上,采用分区影像匹配的方式,提高了相关系 数法影像匹配的精度。

影像匹配实习报告

影像匹配实习报告

影像匹配实习报告1. 引言影像匹配是一种常见的计算机视觉任务,旨在找到两个或多个图像中相似的特征点,并将它们对应起来。

影像匹配在许多领域中都有应用,如图像检索、自动驾驶、遥感图像处理等。

本报告旨在介绍我在影像匹配实习中的经历和学习。

2. 实习目标我在影像匹配实习中的主要目标是了解影像匹配的基本原理和常用算法,并能够利用相关的工具和软件进行影像匹配实验。

通过实习,我希望能够提高自己的计算机视觉技能,并掌握影像匹配在实际项目中的应用。

3. 实习内容在实习期间,我首先进行了理论学习,包括特征提取、特征描述和特征匹配的基本知识。

我学习了不同的特征提取方法,如SIFT、SURF和ORB等,并了解了它们的优缺点。

我还学习了不同的特征描述算法,如BRIEF、BRISK和FREAK等。

通过实践项目,我学习了如何使用开源库,如OpenCV和VLFeat,进行特征提取和特征匹配。

接下来,我进行了一些影像匹配的实验。

我使用了不同类型的图像,包括自然图像、遥感图像和医学图像,进行了不同的影像匹配实验。

我尝试了不同的特征提取和描述方法,并比较它们在不同类型图像上的表现。

我还尝试了不同的特征匹配算法,如FLANN 和RANSAC等,并分析它们在实验中的效果。

在实习的最后阶段,我参与了一个实际项目的影像匹配工作。

我们需要对一组卫星图像进行影像匹配,以进行地图生成和变化检测。

我负责对卫星图像进行预处理和特征提取,并使用ORB算法进行特征匹配。

通过该项目,我对影像匹配在实际项目中的应用有了更深入的了解,并提高了自己的实践能力。

4. 实习收获通过这次影像匹配实习,我收获了很多。

首先,我对影像匹配的原理和相关算法有了更深入的理解。

我学会了如何选择合适的特征提取和描述方法,并了解了常用的特征匹配算法。

其次,我掌握了一些常用的影像匹配工具和软件,如OpenCV和VLFeat,能够利用它们进行影像匹配实验。

最重要的是,我提高了自己的解决问题和实践能力,能够独立完成影像匹配任务,并对实际项目中影像匹配的应用有了更深入的了解。

(实习报告)医学影像实习报告

(实习报告)医学影像实习报告

(实习报告)医学影像实习报告英文回答:During my internship in medical imaging, I was given the opportunity to work closely with a team of experienced radiologists and technologists. This experience provided me with a comprehensive understanding of the field of medical imaging and allowed me to develop valuable skills in various imaging modalities, including X-ray, CT, MRI, and ultrasound.Throughout my internship, I was involved in a wide range of tasks, including patient positioning, image acquisition, and image interpretation. I learned how to operate different imaging equipment and how to optimize image quality for accurate diagnosis. I also had the opportunity to observe and assist in various imaging procedures, such as fluoroscopy, angiography, and biopsy.One of the most rewarding aspects of my internship wasthe opportunity to interact with patients and contribute to their care. I learned the importance of effective communication and empathy when interacting with patients, and I gained a deeper understanding of the impact that medical imaging can have on their lives.Overall, my internship in medical imaging was an invaluable experience that provided me with a solid foundation in the field. I am grateful for the opportunityto have worked alongside such a dedicated team of professionals and to have gained practical experience inthis rapidly evolving field.中文回答:在医学影像实习期间,我有幸与一支经验丰富的放射科医生和技术人员团队紧密合作。

基于相关系数影像匹配实习报告

基于相关系数影像匹配实习报告
j = iter->x;
pBits[i*_width+j] = 255;
pBits[i*_width+j+1] = 255;
pBits[i*_width+j-1] = 255;
pBits[(i+1)*_width+j] = 255;
pBits[(i-1)*_width+j] = 255;
pBits[i*_width+j+2] = 255;
}
else if (biBitCount == 24)
{
bmfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
bmfh.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + byteCount;
pBits2[(i+2)*_width2+j] = 255;
pBits2[(i-2)*_width2+j] = 255;
pBits1[i*_width1+j+2] = 255;
pBits1[i*_width1+j-2] = 255;
pBits1[(i+2)*_width1+j] = 255;
pBits1[(i-2)*_width1+j] = 255;
i = iter->y2;
j = iter->x2;
pBits2[i*_width2+j] = 255;//
pSrcFileRight = fopen(srcFileRight,"rb");

(实习报告)医学影像实习报告

(实习报告)医学影像实习报告

(实习报告)医学影像实习报告
医学影像实习报告。

实习时间,2021年9月1日-2021年9月30日。

实习单位,某某医院影像科。

实习内容:
在某某医院影像科的实习期间,我有幸参与了丰富多彩的医学
影像工作。

在实习期间,我主要参与了放射科的工作,学习了X光、CT、MRI等多种影像技术的操作和应用。

在实习期间,我深入了解了医学影像技术在临床诊断中的重要性。

通过观摩和实践,我学会了如何正确操作放射设备,如何调节
曝光参数,以及如何处理和保存影像资料。

同时,我还学习了如何
与患者进行沟通,如何协助医生完成影像检查,并且了解了医学影
像的相关法律法规和医疗伦理。

在实习期间,我还有幸参与了一些临床病例的讨论和分析,学
习了如何根据影像资料辅助医生进行诊断和治疗方案的制定。

这些
实践让我更加深入地理解了医学影像技术在临床工作中的重要作用。

总结:
通过这一个月的医学影像实习,我不仅学到了丰富的专业知识
和技能,更重要的是,我深刻体会到了医学影像技术对临床工作的
重要性。

在未来的学习和工作中,我将继续努力,不断提升自己的
专业水平,为医学影像事业贡献自己的力量。

感谢某某医院影像科
的老师和同事们在实习期间的悉心指导和帮助,让我收获了一次难
忘的实习经历。

基于像素灰度的相关系数的影像匹配

基于像素灰度的相关系数的影像匹配
2 01 3年
பைடு நூலகம்
第 4期




基 于像 素灰度 的相 关 系数 的影像 匹配
韩 晓玲 . 白立 波
( 新 疆 生 产 建 设 兵 团勘 测 规 划 设 计研 究 院 , 乌鲁木齐 8 3 0 0 0 2 )
摘要 : 数字影像 匹配 的基本算法实则就是影像相关 , 利用左右影像上两个像点信号的相关函数 , 评价它们的相
基元 . 进 而 用 于特 征 匹 配 。 匹 配速 度 较快 , 但 匹 配精 度不 高
3 相 关 系数 匹配 测 度
相关 系数 算法 就 是 以 相关 系 数 作 为 匹配 测 度 . 判 断左右 两 张影像 中一 定大 小 的像 素 窗 口间 的相 似 性 .选取 相关 系数 最大 且大 于设 定 阈值 的一对像 素 窗 口的 中心像 素作 为提取 的同名 点 。 g ( x , y ) -  ̄g x - , y , ) 的相 关 系数定 义为 :
( P l a n n i n g a n d D e s i g n S u r v e y R e s e a r c h I n s t i t u t e o f X i n j i a n g P r o d u c t i o n a n d C o n s t r u c t i o n C o r p s ,
Th e P i x e l Gr a y s c a l e Co r r e l a t i o n Co e ic f i e n t - Ba s e d I ma g e Ma t c h i n g HAN X i a o - l i n g , B AI L i - b o
c o r r e l a t i o n c o e ic f i e n t ma t c h i n g me t h o d a n d i t s lg a o r i t h m, f a s t ma t c h i n g o f d i g i t l a i ma g e s .

相关系数检验实习报告

相关系数检验实习报告

实习报告实习岗位:统计分析实习生实习单位:某知名企业数据分析部门实习时间:2023年7月至2023年9月一、实习背景及目的随着大数据时代的到来,数据分析在企业决策中发挥着越来越重要的作用。

作为一所统计学专业的学生,为了提高自己的实际操作能力,将所学知识运用到实际工作中,我选择了在某知名企业数据分析部门进行为期三个月的实习。

本次实习主要目的是学习相关系数检验在实际工作中的应用,提高自己的数据分析能力。

二、实习内容及过程1. 实习内容(1)了解企业业务及数据来源在实习初期,我主要了解了企业的业务范围、数据来源和数据处理流程。

通过与同事的交流,我了解到企业主要通过线上和线下渠道收集客户数据,包括年龄、性别、消费金额等。

(2)学习相关系数检验方法在实习过程中,我学习了相关系数检验的基本原理和方法,包括皮尔逊相关系数、斯皮尔曼等级相关系数和肯德尔等级相关系数等。

同时,我还掌握了如何利用相关系数检验分析变量之间的线性关系。

(3)实际操作相关系数检验在掌握相关系数检验方法后,我开始在实际工作中运用这些方法。

我选取了企业内部一组销售数据,运用相关系数检验分析不同变量之间的关联程度。

2. 实习过程(1)数据清洗在进行相关系数检验之前,我首先对数据进行了清洗。

删除了存在缺失值和异常值的样本,并对数据进行了规范化处理。

(2)数据探索通过对数据进行探索性分析,我发现销售金额与客户年龄、性别等因素存在一定的关联。

为了进一步验证这些关联性,我选择了皮尔逊相关系数进行检验。

(3)结果分析经过相关系数检验,我发现销售金额与客户年龄、性别等因素之间的关联程度较高。

具体来说,销售金额与客户年龄呈负相关,与客户性别呈正相关。

这些结果为企业制定营销策略提供了有益参考。

三、实习收获及反思1. 实习收获(1)掌握了相关系数检验的基本原理和方法。

(2)学会了如何运用相关系数检验分析实际问题。

(3)提高了自己的数据分析能力和解决问题的能力。

2. 实习反思(1)在实习过程中,我深刻认识到理论知识与实际操作的重要性。

相关系数检验实习报告个人

相关系数检验实习报告个人

实习报告实习岗位:统计分析实习生实习单位:某知名企业数据分析部门实习时间:2023年7月至2023年9月一、实习背景及目的随着大数据时代的到来,数据分析在企业决策中发挥着越来越重要的作用。

作为一所统计学专业的学生,为了提高自己的实际操作能力,将所学知识运用到实际工作中,我选择了在某知名企业数据分析部门进行为期三个月的实习。

本次实习主要目的是学习相关系数检验在实际工作中的应用,提高自己的数据分析能力。

二、实习内容及过程1. 实习内容(1)了解企业业务及数据来源在实习初期,我主要了解了企业的业务范围、数据来源和数据处理流程。

通过与同事的交流,我了解到企业主要通过线上和线下渠道收集客户数据,包括年龄、性别、消费金额等。

(2)学习相关系数检验方法在实习过程中,我学习了相关系数检验的基本原理和方法,包括皮尔逊相关系数、斯皮尔曼等级相关系数和肯德尔等级相关系数等。

同时,我还掌握了如何利用相关系数检验分析变量之间的线性关系。

(3)实际操作相关系数检验在掌握相关系数检验方法后,我开始在实际工作中运用这些方法。

我选取了企业内部一组销售数据,运用相关系数检验分析不同变量之间的关联程度。

2. 实习过程(1)数据清洗在进行相关系数检验之前,我首先对数据进行了清洗。

删除了存在缺失值和异常值的样本,并对数据进行了规范化处理。

(2)数据探索通过对数据进行探索性分析,我发现销售金额与客户年龄、性别等因素存在一定的关联。

为了进一步验证这些关联性,我选择了皮尔逊相关系数进行检验。

(3)结果分析经过相关系数检验,我发现销售金额与客户年龄、性别等因素之间的关联程度较高。

具体来说,销售金额与客户年龄呈负相关,与客户性别呈正相关。

这些结果为企业制定营销策略提供了有益参考。

三、实习收获及反思1. 实习收获(1)掌握了相关系数检验的基本原理和方法。

(2)学会了如何运用相关系数检验分析实际问题。

(3)提高了自己的数据分析能力和解决问题的能力。

2. 实习反思(1)在实习过程中,我深刻认识到理论知识与实际操作的重要性。

(实习报告)医学影像实习报告

(实习报告)医学影像实习报告

(实习报告)医学影像实习报告英文回答:During my medical imaging internship, I had the opportunity to gain practical experience in a variety of imaging modalities, including X-ray, computed tomography (CT), magnetic resonance imaging (MRI), and ultrasound. Through hands-on training and clinical rotations, I learned about the principles of medical imaging, patient positioning, image acquisition, and image interpretation.One of the most valuable aspects of my internship was the clinical experience I gained. I worked alongside experienced radiologists and technologists, observing and assisting with a wide range of imaging procedures. This exposure allowed me to develop a strong understanding of the clinical applications of medical imaging in diagnosing and managing a variety of medical conditions.For example, during my rotation in the CT department, Ilearned about the use of CT scans to detect and characterize tumors, fractures, and other abnormalities. I also gained experience in performing contrast-enhanced CT scans, which involve injecting a contrast agent into the patient's bloodstream to enhance the visibility of certain tissues and structures.In the MRI department, I learned about the principles of magnetic resonance imaging and its applications in diagnosing a wide range of medical conditions, including brain injuries, spinal cord injuries, and musculoskeletal disorders. I also had the opportunity to perform MRI scans on patients with various medical conditions, including stroke, multiple sclerosis, and cancer.Overall, my medical imaging internship was an invaluable experience that provided me with a strong foundation in the field of medical imaging. I am grateful for the opportunity to have worked alongside experienced radiologists and technologists and to have gained practical experience in a variety of imaging modalities.中文回答:在医学影像实习期间,我有机会在多种影像学方式中获得实践经验,包括 X 光、计算机断层扫描 (CT)、磁共振成像 (MRI) 和超声检查。

相关系数检验实习报告模板

相关系数检验实习报告模板

实习报告实习单位:XX公司实习岗位:数据分析师实习时间:202X年X月X日至202X年X月X日实习内容:相关系数检验一、实习背景随着大数据时代的到来,数据分析和挖掘在各行各业中发挥着越来越重要的作用。

作为数据分析师,掌握相关系数检验等统计方法对于发现数据间的关联性具有重要意义。

本次实习,我主要针对XX公司的数据进行了相关系数检验,以期为公司决策提供有力支持。

二、实习目的1. 掌握相关系数检验的基本原理和操作方法;2. 学会在实际工作中运用相关系数检验发现数据间的关联性;3. 提高自己的数据分析能力和解决问题的能力。

三、实习过程1. 数据收集:在实习开始前,我向公司相关部门请教了数据收集的问题。

通过与同事们的交流,我了解到公司现有数据主要来源于销售部门、市场部门和财务部门。

在取得相关部门的许可后,我整理了这些数据,并将其导入到Excel表格中,以便后续分析。

2. 数据预处理:在进行相关系数检验之前,需要对数据进行预处理。

我使用Excel的筛选和排序功能,将数据按照时间顺序进行排列,并剔除了部分缺失值和异常值,确保数据的准确性和可靠性。

3. 相关系数检验:接下来,我使用Excel的公式功能,计算了各变量之间的相关系数。

首先,我选择了销售数量、销售价格、销售成本、市场投入和销售额等五个主要指标,计算它们之间的皮尔逊相关系数。

然后,为了检验结果的可靠性,我还使用了斯皮尔曼等级相关系数进行检验。

4. 结果分析:通过相关系数检验,我发现销售数量与销售额、市场投入与销售额等指标之间存在显著的正相关关系,而销售价格与销售成本之间存在显著的负相关关系。

这些结果有助于公司了解各指标之间的关联性,为后续决策提供依据。

四、实习收获1. 掌握了相关系数检验的基本原理和操作方法,提高了自己的统计分析能力;2. 学会了在实际工作中运用相关系数检验,发现数据间的关联性;3. 提高了自己的数据分析能力和解决问题的能力,为今后的工作打下了坚实基础。

影像匹配实习报告

影像匹配实习报告

影像匹配实习报告实习目的:1、掌握影像匹配的原理和基本思想,加深对各种影像匹配算法的理解;2、能够利用编程实现影像匹配的算法,提高自己的编程能力;3、通过实习能够体会各种影像匹配算法的特点和优劣;实验原理:影像匹配的实质就是在两幅(或多幅)影像之间识别同名点。

同名点的确定是以匹配测度为基础的,基于不同的理论或不同的思想可以定义各种不同的匹配测度,因而形成了各种影像匹配方法及相应的实现算法。

常见的有五种基本的匹配算法,即相关函数法、协方差函数法、相关系数法、差平方和法和差绝对值和法。

本次试验采用的是相关系数法。

相关系数法影像匹配的基本思想:若影像匹配的目标窗口灰度矩阵为G(g),窗口大小为m×n,与G对应的灰度函数为g(x,y);搜索区的灰度矩阵为G’=(g’),矩阵的大小为k×l,k与l分别是矩阵G’的行数和列数,与G’相应的灰度函数为g’(x,y)。

G’中任意一个m行n列的子快(搜索窗口)记为:'',,()r c i r j c G g ++= (i=1,2,…,m, j=1,2,…,n )(r=INT(m/2)+1,…,k-INT(m/2) c=INT(n/2)+1,…,l-INT(n/2)) 相关系数法就是寻找使得目标窗口和搜索窗口中相关系数取得最大值的点作为同名点的方法,即它是用相关系数作为匹配测度的。

它是标准化的协方差函数,协方差函数除以两信号的方差即得相关系数。

g(x,y)与g ’(x ’,y ’)的相关系数为:()(,),C p q p q ρ= 考虑到实际计算中的工作量,相关系数的实用公式为: ()'',,,,1()()(),m n m n m n i j i r j c i j i r j c g g g g m n c r ρ++++•-•=∑∑∑∑∑∑实验步骤:1、 提取特征点为了提高影像匹配的精度,我们可以从影像上提取变化比较明显的点进行匹配,这样可以取得比较好的匹配效果。

影像专业学生实习报告

影像专业学生实习报告

一、实习背景作为一名影像专业学生,我深知理论知识与实践操作相结合的重要性。

为了更好地将所学知识应用于临床实践,提高自己的专业素养,我于2023年6月至9月在XX医院影像科进行了为期三个月的实习。

在这段时间里,我不仅巩固了所学理论知识,还学会了如何将理论与实践相结合,提高了自己的临床诊断能力。

二、实习内容1. 基本理论知识学习在实习期间,我首先系统地学习了医学影像学的基本理论知识,包括X射线、CT、MRI、超声等影像学检查原理、设备操作、图像分析等方面的知识。

通过学习,我对影像学检查的原理有了更深入的了解,为后续的实践操作打下了坚实的基础。

2. 实践操作技能培训在实习过程中,我积极参与各项实践操作,包括X射线、CT、MRI、超声等影像学检查。

在带教老师的指导下,我熟练掌握了各项检查的操作技巧,如X射线摄影、CT扫描、MRI成像、超声探查等。

同时,我还学习了图像分析、诊断报告书写等技能。

3. 临床诊断思维培养在实习过程中,我跟随医生参与病例讨论,学习临床诊断思维。

通过分析病例资料、图像资料,我逐渐掌握了常见病、多发病的诊断方法,提高了自己的临床诊断能力。

4. 医德医风建设实习期间,我严格遵守医院规章制度,尊重患者,关心患者,树立了良好的医德医风。

在医生指导下,我学会了与患者沟通的技巧,提高了自己的沟通能力。

三、实习收获1. 理论与实践相结合:通过实习,我深刻体会到理论知识与实践操作相结合的重要性。

在实际操作中,我将所学知识应用于临床实践,提高了自己的专业素养。

2. 临床诊断能力提高:在实习过程中,我跟随医生参与病例讨论,学习了临床诊断思维,提高了自己的临床诊断能力。

3. 医德医风建设:在实习过程中,我严格遵守医院规章制度,树立了良好的医德医风,提高了自己的沟通能力。

4. 团队协作能力提升:在实习过程中,我与同事相互学习、相互帮助,提高了自己的团队协作能力。

四、实习总结通过这次实习,我深刻认识到医学影像学专业的重要性,也意识到自己在专业知识和实践技能方面的不足。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于相关系数影像匹配实习报告一、实习内容与目的通过上机编程实现基于相关系数算法的影像匹配,从而更加熟练的掌握书本上关于影像匹配及相关系数算法的理论知识,并熟悉上机编程的操作。

二、实习原理影像匹配实质上是在两幅或是多幅影像之间识别同名点,其中基于相关系数的算法是实现影像匹配的基本算法之一。

相关系数是标准化的协方差函数,协方差函数除以两信号的方差即得相关系数。

计算相关系数的公式如下:g(x,y)与g ’(x ’,y ’)的相关系数为:),(),(),(q p C C q p C q p g g gg ''=ρ其中:⎰⎰∈-=Dy x gg dxdy y x g E y x g C ),(2)]},([),({ ⎰⎰∈''++'-++'=Dy x g g dxdy q y p x g E q y p x g q p C ),(2)]},([),({),( 若(p0, q0)>(p, q),(p ≠p0,q ≠q0),则p0,q0为搜索区影像相对于目标区影像的位移参数。

由离散灰度数据对相关系数的估计为∑∑∑∑∑∑====++==++⋅'-'⋅-'-'-=m i njm i njc rcj r i j i m i njc j r i j i g g g g g g g g r c 11112,,2,11,,)()())((),(ρ∑∑==++'⋅='m i njcj r i rc g nm g 11,,1,∑∑==⋅=m i njj i g nm g 11,1考虑到计算工作量,相关系数的实用公式为∑∑∑∑∑∑∑∑∑∑∑∑∑∑======++++======++==++'⋅-'⋅-'⋅-⋅=m i nj m i n j m i nj c j r ic j r i m i n j j i ji m i njm i n j c j r im i n j j i c j r i j i g n m g g n m gg g n m g g r c 1111211,,2211,,21111,11,,,])(1][)(1[)()(1)(),(ρ三、实习步骤及相关代码在第一次点特征点实习的基础上我们组进行了第二次基于相关系数的影像匹配实习。

所以程序实现的部分操作直接利用前次实习的中的程序。

(1)读入左右影像 FILE* pSrcFileLeft = NULL;pSrcFileLeft = fopen(srcFileLeft,"rb");if(pSrcFileLeft == NULL){printf("原始左片影像打开失败\n");return FAILURE;}FILE* pSrcFileRight = NULL;pSrcFileRight = fopen(srcFileRight,"rb");if(pSrcFileRight == NULL){printf("原始右片影像打开失败\n");return FAILURE;}(2)确定目标窗口大小通过老师课堂上的讲授和我们在编程过程中的不断尝试,我们默认使用的窗口的尺寸为11*11。

(3)确定目标点的位置由前次的实习中得到左相片中的特征点作为这次实习的目标点。

(4)预测右影像搜索范围本程序中也在左相片中计算出了特征点,然后将左右两相片中的特征点进行计算相关系数。

(5)逐窗口计算相关系数并保存相应的储存单元将左相片中的目标点与右相片中的特征点进行相关系数的计算。

(6)比较相关系数,取最大相关系数作为匹配点对于分别比较上一步骤中计算出的相关系数,选取出最大的一个相关系数作为匹配点。

程序操作如下:在程序主界面中点击Extend中选取ImageMatch选项,然后进入参数设置界面。

设置读取和保存影像路径和窗口大小等参数后,点击Progress进行运算。

四、实习结果及分析作为数据源的左右影像如些图所示:左相片右相片经过计算后得到的目标点左右图像分别如下所示:左相片右相片显示匹配点号:通过老师得到的图片可以看出在左相片中得到的五个目标点中有四个在右相片中找到了同名点,由此可以看出本程序基本满足实习要求,并得到理想的结果。

不足的地方就是选取的特征点的数量不够多,这样就无法判断本程序的“误判”的情况如何。

五、实习体会在学习到相关系数的时候,一看到计算相关系数的公式的时候我就有种被折服的感觉,那个公式实在是太复杂,它使我感觉我怎么也不能记住这个复杂的公式。

不过经过这次实习后,我觉得这个公式又不是当初认为的那样无法记忆。

我想这次实习我最大的收获就是对于之前在学习过程中遇到不懂知识以及难以记忆的知识都得到了加强,方便了我对他们的理解与记忆。

其次,在编程过程中更加锻炼自己动手编程的能力,使得我编程能力较之前有着一定的提高。

每次编程实习都是一个积累经验的过程,然后通过一次次的实习后,我最终的能力就能够得到很好的体现。

附件:void Moravec(BYTE* pSrcBits, vector<FEATUREPOINT> *FeaturePoint,int m_threshold, int m_window1, int m_window2, int width, int height, int* Count1){。

此部分程序与点特征程序中代码一样,因此不再重复粘贴}vector<FEATUREPOINT> RemoveReplicative(vector<FEATUREPOINT> v){vector<FEATUREPOINT> ret;vector<FEATUREPOINT>::iterator iter = v.begin();ret.clear();ret.push_back(*iter);vector<FEATUREPOINT>::iterator iter2;BOOL b(FALSE);for (iter = v.begin(); iter != v.end(); ++iter){b = false;for (iter2 = ret.begin(); iter2 != ret.end(); ++iter2){if (iter->x == iter2->x && iter->y == iter2->y){b = TRUE; //存在break;}}if (b == FALSE){ret.push_back(*iter);}}return ret;}void SaveBand(int width, int height, int byteCount, int biBitCount, LPBYTE pBits, CString SavePath){BITMAPFILEHEADER bmfh;BITMAPINFOHEADER bmih;bmfh.bfType = 0x4d42; // 0x42 = "B" 0x4d = "M"bmfh.bfReserved1 = 0;bmfh.bfReserved2 = 0;if (biBitCount == 8){bmfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 256*4;bmfh.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 256*4 + byteCount;}else if (biBitCount == 24){bmfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);bmfh.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + byteCount;}else{MessageBox(NULL, "8bit or 24bit accepted", "错误", MB_ICONERROR);return;}bmih.biBitCount = biBitCount;bmih.biWidth = width;bmih.biHeight = height;bmih.biSize = 40;bmih.biPlanes = 1;bmih.biCompression = BI_RGB;bmih.biSizeImage = bmfh.bfSize;bmih.biClrImportant = 0;bmih.biClrUsed = 0;bmih.biXPelsPerMeter = 0;bmih.biYPelsPerMeter = 0;CFile f;//保存位图if (f.Open(SavePath, CFile::modeCreate | CFile::modeWrite)){f.Write(&bmfh, sizeof(bmfh));f.Write(&bmih, sizeof(bmih));if (biBitCount == 8){RGBQUAD rgb[256];int i(0);for (; i < 256; ++i){rgb[i].rgbBlue = i;rgb[i].rgbGreen = i;rgb[i].rgbRed = i;rgb[i].rgbReserved = 0;}//修改颜色表255对应的颜色rgb[255].rgbBlue = 0;rgb[255].rgbGreen = 0;rgb[255].rgbRed = 255;f.Write(rgb, sizeof(RGBQUAD)*256);}f.Write(pBits, byteCount);f.Close();}else{MessageBox(NULL, "保存图像失败", "错误", MB_ICONERROR);return;}}void DrawCross(BYTE* pBits, vector<FEATUREPOINT> FeaturePoint, int _width, int byteCount){vector<FEATUREPOINT>::iterator iter;int i(0), j(0);for (i = 0; i < byteCount; ++i){if (pBits[i] == 255)pBits[i] = 254;}for (iter = FeaturePoint.begin(); iter != FeaturePoint.end(); ++iter){i = iter->y;j = iter->x;pBits[i*_width+j] = 255;pBits[i*_width+j+1] = 255;pBits[i*_width+j-1] = 255;pBits[(i+1)*_width+j] = 255;pBits[(i-1)*_width+j] = 255;pBits[i*_width+j+2] = 255;pBits[i*_width+j-2] = 255;pBits[(i+2)*_width+j] = 255;pBits[(i-2)*_width+j] = 255;}}void DrawCross(BYTE* pBits1, BYTE* pBits2, vector<MATCHEDPOINTS> MatchedPoints, int _width1, int _width2, int byteCount1, int byteCount2){vector<MATCHEDPOINTS>::iterator iter;int i(0), j(0);for (i = 0; i < byteCount1; ++i){if (pBits1[i] == 255)pBits1[i] = 254;}for (j = 0; j < byteCount2; ++j){if (pBits2[j] == 255)pBits2[j] = 254;}for (iter = MatchedPoints.begin(); iter != MatchedPoints.end(); ++iter){i = iter->y1;j = iter->x1;pBits1[i*_width1+j] = 255;pBits1[i*_width1+j+1] = 255;pBits1[i*_width1+j-1] = 255;pBits1[(i+1)*_width1+j] = 255;pBits1[(i-1)*_width1+j] = 255;pBits1[i*_width1+j+2] = 255;pBits1[i*_width1+j-2] = 255;pBits1[(i+2)*_width1+j] = 255;pBits1[(i-2)*_width1+j] = 255;i = iter->y2;j = iter->x2;pBits2[i*_width2+j] = 255; //pBits2[i*_width2+j+1] = 255;pBits2[i*_width2+j-1] = 255;pBits2[(i+1)*_width2+j] = 255;pBits2[(i-1)*_width2+j] = 255;pBits2[i*_width2+j+2] = 255;pBits2[i*_width2+j-2] = 255;pBits2[(i+2)*_width2+j] = 255;pBits2[(i-2)*_width2+j] = 255;}}void SaveList(vector<FEATUREPOINT> FeaturePoint, CString txtFile)FILE* pTxtFile= fopen(txtFile, "wt");if (!pTxtFile)return;fprintf(pTxtFile, "#\t特征点数: %d\n\n", FeaturePoint.size());fprintf(pTxtFile, "坐标X\t坐标Y\t兴趣值\n");vector<FEATUREPOINT>::iterator iter;for (iter = FeaturePoint.begin(); iter != FeaturePoint.end(); ++iter)fprintf(pTxtFile, "%d\t%d\t%d\n", iter->x, iter->y, (int)iter->IV);fclose(pTxtFile);}void SaveList(vector<MATCHEDPOINTS> MatchedPoints, CString txtFile){FILE* pTxtFile= fopen(txtFile, "wt");if (!pTxtFile)return;fprintf(pTxtFile, "#同名点对数: %d\n\n",MatchedPoints.size());vector<MATCHEDPOINTS>::iterator iter;for (iter = MatchedPoints.begin(); iter != MatchedPoints.end(); ++iter)fprintf(pTxtFile, "%d\t%d\t%d\t%d\t%f\n",iter->x1, iter->y1, iter->x2, iter->y2, iter->coefficient);fclose(pTxtFile);}int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]){if (argc != 15){::MessageBox(NULL,"启动参数不正确,请从GUI.exe或命令行参数启动","",MB_ICONASTERISK);return FAILURE;}system("Mode con: COLS=50 LINES=150");system("title Image_Match");int nRetCode = 0;if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)){cerr << _T("Fatal Error: MFC initialization failed") << endl;nRetCode = 1;return nRetCode;}CString srcFileLeft, srcFileRight, dstFileLeft, dstFileRight, txtFile;CString threshold_Left,window1_Left,window2_Left;CString threshold_Right,window1_Right,window2_Right;CString CoRelated,window3,flag1; //启动参数srcFileLeft = argv[1];srcFileRight = argv[2];dstFileLeft = argv[3];dstFileRight = argv[4];txtFile = argv[5];threshold_Left = argv[6]; //阈值window1_Left = argv[7];window2_Left = argv[8];threshold_Right = argv[9];window1_Right = argv[10];window2_Right = argv[11];CoRelated = argv[12];window3 = argv[13];flag1 = argv[14]; //判断是否在创建结果文件后显示int m_threshold_L = atoi(threshold_Left);int m_window1_L = atoi(window1_Left);int m_window2_L = atoi(window2_Left);int m_threshold_R = atoi(threshold_Right);int m_window1_R = atoi(window1_Right);int m_window2_R = atoi(window2_Right);double m_CoRelated = (double)atoi(CoRelated) / 100;int m_window3 = atoi(window3);int m_flag1 = atoi(flag1);if (GetFileAttributes(srcFileLeft) == -1){CString err;err.Format("文件:%s不存在", srcFileLeft);::MessageBox(NULL,err, "Error", MB_ICONERROR);return FAILURE;}if (GetFileAttributes(srcFileRight) == -1){CString err;err.Format("文件:%s不存在", srcFileRight);::MessageBox(NULL,err, "Error", MB_ICONERROR);return FAILURE;}//打开2幅影像FILE* pSrcFileLeft = NULL;pSrcFileLeft = fopen(srcFileLeft,"rb");if(pSrcFileLeft == NULL){printf("原始左片影像打开失败\n");return FAILURE;}FILE* pSrcFileRight = NULL;pSrcFileRight = fopen(srcFileRight,"rb");if(pSrcFileRight == NULL){printf("原始右片影像打开失败\n");return FAILURE;}//读取左片数据BITMAPFILEHEADER bmfhLeft;BITMAPINFOHEADER bmihLeft;fread(&bmfhLeft, sizeof(BITMAPFILEHEADER), 1, pSrcFileLeft);fread(&bmihLeft, sizeof(BITMAPINFOHEADER), 1, pSrcFileLeft);if(bmihLeft.biBitCount != 8){printf("只支持8位位图: 左片\n");return FAILURE;}DWORD widthLeft = bmihLeft.biWidth;DWORD heightLeft = bmihLeft.biHeight;DWORD _widthLeft = (widthLeft*8 + 31)/32*4; //saved widthLeft in files DWORD pixelCountLeft = _widthLeft*heightLeft;fseek(pSrcFileLeft, 256*sizeof(RGBQUAD), SEEK_CUR);BYTE* pSrcBitsLeft = new BYTE[pixelCountLeft]; //new 1fread(pSrcBitsLeft, sizeof(BYTE), pixelCountLeft, pSrcFileLeft);fclose(pSrcFileLeft);pSrcFileLeft = NULL;//读取右片数据BITMAPFILEHEADER bmfhRight;BITMAPINFOHEADER bmihRight;fread(&bmfhRight, sizeof(BITMAPFILEHEADER), 1, pSrcFileRight);fread(&bmihRight, sizeof(BITMAPINFOHEADER), 1, pSrcFileRight);if(bmihRight.biBitCount != 8){printf("只支持8位位图: 右片\n");return FAILURE;}DWORD widthRight = bmihRight.biWidth;DWORD heightRight = bmihRight.biHeight;DWORD _widthRight = (widthRight*8 + 31)/32*4; //saved widthRight in files DWORD pixelCountRight = _widthRight*heightRight;fseek(pSrcFileRight, 256*sizeof(RGBQUAD), SEEK_CUR);BYTE* pSrcBitsRight = new BYTE[pixelCountRight]; //new 2fread(pSrcBitsRight, sizeof(BYTE), pixelCountRight, pSrcFileRight);fclose(pSrcFileRight);pSrcFileRight = NULL;//开始计算左片特征点//计算左片的兴趣点存储于该vector中vector<FEATUREPOINT> FeaturePointLeft;vector<FEATUREPOINT> FeaturePointRight;int Count1(0);int Count2(0);Moravec(pSrcBitsLeft, &FeaturePointLeft, m_threshold_L, m_window1_L, m_window2_L, widthLeft, heightLeft, &Count1);Moravec(pSrcBitsRight, &FeaturePointRight, m_threshold_R, m_window1_R, m_window2_R,widthRight, heightRight, &Count2);cout << FeaturePointLeft.size() << endl;cout << FeaturePointRight.size() << endl;FeaturePointLeft = RemoveReplicative(FeaturePointLeft);FeaturePointRight = RemoveReplicative(FeaturePointRight);cout << "FeaturePointLeft.size() == " << FeaturePointLeft.size() << endl;cout << "FeaturePointRight.size() == " << FeaturePointRight.size() << endl;SaveList(FeaturePointLeft, "d:\\list1.txt");SaveList(FeaturePointRight, "d:\\list2.txt");//特征点计算完毕,存储于vector中//遍历vector, 在右片中搜寻相关系数最大的窗口vector<FEATUREPOINT>::iterator iter1;vector<FEATUREPOINT>::iterator iter2;int k = m_window3 / 2;int i(0), j(0), m(0), n(0);BYTE* pTemplate = new BYTE[m_window3*m_window3]; //new 5ZeroMemory(pTemplate, sizeof(BYTE)*m_window3*m_window3);BYTE* pTarget = new BYTE[m_window3*m_window3]; //new 6ZeroMemory(pTarget, sizeof(BYTE)*m_window3*m_window3);vector<MATCHEDPOINTS> MatchedPoints;float MaxR(0);float R(0);double A(0), B(0), C(0), D(0), E(0); //计算相关系数的中间量int lMaxWidth;int lMaxHeight;int Count3(0), Count4(0);for (iter1 = FeaturePointLeft.begin(); iter1 != FeaturePointLeft.end(); ++iter1){cout << endl << "Left point ID: " << Count2++ << endl;//计算该点对应的特征点B = 0.0;D = 0.0;MaxR = 0.0;R = 0.0;if (iter1->x < k || iter1->y < k || iter1->x > heightLeft - k || iter1->y > widthLeft - k) {cout << "Left point abort: " << Count3++ << endl;continue;}//逐个搜索//将左片小窗口内的数据拷贝//可先求出B,Dfor (i = 0; i < m_window3; ++i){for(j = 0; j < m_window3 ; ++j){//B = 小窗口所有像素灰度值求和//D = ....................的平方再求和B += pSrcBitsLeft[(i+iter1->y)*_widthLeft + (j+iter1->x)];D += pSrcBitsLeft[(i+iter1->y)*_widthLeft + (j+iter1->x)] *pSrcBitsLeft[(i+iter1->y)*_widthLeft + (j+iter1->x)];}}Count4 = 0;//逐个小窗口计算Rfor (iter2 = FeaturePointRight.begin(); iter2 != FeaturePointRight.end(); ++iter2) {if (iter2->x < k || iter2->y < k || iter2->x > heightRight - k || iter2->y > widthRight - k) {cout << "Right point abort: " << Count4++ << endl;continue;} A = 0.0;C = 0.0;E = 0.0;j = iter2->x; //i,j为中心点i = iter2->y;j -= k; //i,j为顶点i -= k;int centerX = j + k;int centerY = i + k;//这里的centerX,centerY就是右片某个小窗口的中心//求A,C,Efor (m = 0; m < m_window3; ++m){for(n = 0; n < m_window3 ; ++n){//C = 左片小窗口所有像素灰度值求和//E = ........................平方的求和//A = 对应位置像素灰度直乘积之和C += pSrcBitsRight[(i+m)*_widthRight + (j+n)];E += pSrcBitsRight[(i+m)*_widthRight+(j+n)]*pSrcBitsRight[(i+m)*_widthRight+(j+n)];A += pSrcBitsRight[(i+m)*_widthRight+(j+n)] *pSrcBitsLeft[(m+iter1->y)*_widthLeft + (n+iter1->x)];}}double temp1 = D - B*B/m_window3/m_window3;double temp2 = E - C*C/m_window3/m_window3;if (temp1 != 0 && temp2 != 0){R = (A - B*C/m_window3/m_window3) / sqrt(temp1*temp2);}elseR = 0;if (R > MaxR){MaxR = R;lMaxWidth = centerX;lMaxHeight = centerY;cout << R << endl;}}if (MaxR >= m_CoRelated){MATCHEDPOINTS mp;mp.coefficient = MaxR;mp.x1 = iter1->x;mp.y1 = iter1->y;mp.x2 = lMaxWidth;mp.y2 = lMaxHeight;MatchedPoints.push_back(mp);}}//保存结果位图DrawCross(pSrcBitsLeft, pSrcBitsRight, MatchedPoints,_widthLeft, _widthRight, pixelCountLeft, pixelCountRight);SaveBand(widthLeft, heightLeft, _widthLeft*heightLeft, 8, pSrcBitsLeft, dstFileLeft);SaveBand(widthRight, heightRight, _widthRight*heightRight, 8, pSrcBitsRight, dstFileRight);//保存特征点列表SaveList(MatchedPoints, txtFile);//clean updelete[] pSrcBitsLeft;delete[] pSrcBitsRight;delete[] pTemplate;pSrcBitsLeft = NULL;pSrcBitsRight = NULL;pTemplate = NULL;if (m_flag1 == 1){ShellExecute(NULL, "open", txtFile, NULL, NULL, SW_SHOWNORMAL);}return nRetCode;}。

相关文档
最新文档