X光图像快速增强算法研究报告.docx

上传人:b****8 文档编号:12940125 上传时间:2023-06-09 格式:DOCX 页数:38 大小:731.45KB
下载 相关 举报
X光图像快速增强算法研究报告.docx_第1页
第1页 / 共38页
X光图像快速增强算法研究报告.docx_第2页
第2页 / 共38页
X光图像快速增强算法研究报告.docx_第3页
第3页 / 共38页
X光图像快速增强算法研究报告.docx_第4页
第4页 / 共38页
X光图像快速增强算法研究报告.docx_第5页
第5页 / 共38页
X光图像快速增强算法研究报告.docx_第6页
第6页 / 共38页
X光图像快速增强算法研究报告.docx_第7页
第7页 / 共38页
X光图像快速增强算法研究报告.docx_第8页
第8页 / 共38页
X光图像快速增强算法研究报告.docx_第9页
第9页 / 共38页
X光图像快速增强算法研究报告.docx_第10页
第10页 / 共38页
X光图像快速增强算法研究报告.docx_第11页
第11页 / 共38页
X光图像快速增强算法研究报告.docx_第12页
第12页 / 共38页
X光图像快速增强算法研究报告.docx_第13页
第13页 / 共38页
X光图像快速增强算法研究报告.docx_第14页
第14页 / 共38页
X光图像快速增强算法研究报告.docx_第15页
第15页 / 共38页
X光图像快速增强算法研究报告.docx_第16页
第16页 / 共38页
X光图像快速增强算法研究报告.docx_第17页
第17页 / 共38页
X光图像快速增强算法研究报告.docx_第18页
第18页 / 共38页
X光图像快速增强算法研究报告.docx_第19页
第19页 / 共38页
X光图像快速增强算法研究报告.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

X光图像快速增强算法研究报告.docx

《X光图像快速增强算法研究报告.docx》由会员分享,可在线阅读,更多相关《X光图像快速增强算法研究报告.docx(38页珍藏版)》请在冰点文库上搜索。

X光图像快速增强算法研究报告.docx

X光图像快速增强算法研究报告

X光图像快速增强算法研究报告

X光图像快速增强算法的研究

摘要

自从伦琴发现X射线以来,X光与医学就紧紧的联系在了一起,通过X光拍摄人体照片,不仅为人类更准确清晰的了解人体内部构造提供了极大地方便,同时也为一些疾病和组织损伤的诊断提供了重要的依据。

然而早期拍摄的X光图像由于拍摄条件和设备的影响,总是很难达到很清晰的效果,这也对X光的推广产生了不小的影响。

随着科技的进步,拍摄条件和拍摄水平的提高,以及更多高新技术的产生,尤其是电脑的出现更加促进了X光技术的发展,自此通过算法来增强X光图像技术也应运而生,经过这几十年的发展,已有不少增强算法被应用在X光图像处理方面,然而大多数方法在处理的实时性方面有一定的不足,因为随着社会需求不断发展,医生对X光图像实时性要求越来越高,故此本文就着眼于快速增强算法的研究从而以满足对X光图像实时性的要求,同时本文还将介绍用于验证此增强算法的检测程序。

关键字:

快速增强、实时、算法、验证程序

 

ThestudyofX-rayimageenhancementalgorithms

ABSTRACT

Sinceroentgendiscoveredx-rays,X-rayandmedicinecloselygettogether.HumanbodyphotographstakenbyX-ray,notonlyfordoctorismoreaccuratelyandclearlyforunderstandinghumanbodyinternalstructureprovidesaconvenientgreatly,butalsoforsomediseasesandtissuedamagediagnosisprovidesanimportantbasis.HoweverearlyX-rayimagesbecauseoftheinfluenceoftheshootingconditionsandequipmentisoftendifficulttoachievecleareffect,italsohasabiginfluenceforthepromotionofX-ray.Withtheprogressofscienceandtechnology,andtheimprovementoffilmingconditions,andmoreproductionofhighandnewtechnology,especiallytheemergenceofthecomputermoretopromotethedevelopmentofX-raytechnology,sincethealgorithmtoenhancetheX-rayimagingalsoarisesatthehistoricmoment,throughthedecadesofdevelopment,therehavebeenmanyenhancementalgorithmsthathavebeenappliedintheX-rayimageprocessing,however,mostmethodsintheprocessingofthereal-timeaspecthascertaininsufficiency,becausealongwiththesocialdevelopmentdemand,thedoctorofX-rayimagereal-timedemandishigherandhigher,thereforethisarticlewillfocusonrapidenhancementalgorithmresearchandtomeettherequirementofrealtimeX-rayimage,atthesametimewillalsobeintroducedinthispaperisusedtovalidatetheenhancementtestprocedureofthealgorithm.

Keywords:

Rapid,real-time,algorithm,averificationprogram

 

1、绪论

1.1、课题背景及意义

自1895年伦琴发现X射线以来,X射线就被广泛应用,并未人类的发展做出了巨大的贡献。

早期都是通过胶片的方式获取X光图像,尽管通过一些列努力使得拍摄的图像质量有所提高,然而由于这种技术先天的缺陷导致使得这种胶片方式无法突破瓶颈获得更好的图像。

20世纪60、70十年代以来,随着计算机技术的迅猛发展以及数字化技术的不断成熟,这种通过电子技术成像的方法被应用到了医学领域,从而丰富了诊断信息的领域和层次,提高了诊断水平。

自从20世纪80年代引入计算机X射线技术,X射线成像领域发生了巨大变化,CR不仅提供图像识别和计算机辅助,还提供存储、数字化传输等,这样既解决了胶片处理过程,同时还节省了大量的费用。

20世纪90年代后期,数字平板技术产生了,该技术采用X射线图像数字读出技术,真正实现X射线检测的自动化。

在两次照射期间,不必在使用胶片和存储荧光屏,仅仅需要几秒的数据采集,就可以观察到图像,X射线成像技术所有这些以显示人体构造信息为目的的成像方法和相应的科学均被纳入到医学影像学,是医学影像学在临床诊断和教学科研中作用越来越大。

X射线具有很强的穿透能力,长期受X射线对人体有害,病人在使用X射线应尽可能一次性生成有效的图像,避免反复多次照射,使病人因此而受到损伤,但是人体的组织是非常复杂的,加之在拍摄过程中会出现的噪音干扰和电磁干扰都会使拍摄出的照片质量受到影响,与一般的灰度图像相比,医学X射线图像对比度较差,细节叫丰富。

除此之外X图像的动态范围也较宽,如果医生要对感兴趣的以及病灶做出正确的诊断,必须要对图像进行进一步处理,这样可以起到改善图像视觉效果的作用,由于医学X射线图像的特殊性,要改善图像质量就应该以不引入过大的噪声,不会丢失图像的细节,而不会引起图像细节失真为前提,这样就能避免医生误诊。

图像质量的提高主要可以通过两种不同的途径来实现:

从成像机理和方法上进行研究,改变成像系统硬件,甚至包括采用不同的成像方法和技术等。

例如传统的CT成像对硬组织的成像效果较好,但对于软组织的成像分辨率效果则远不如超声波,而磁共振成像则在硬组织和软组织的成像质量和效果上均优于CT成像和超声成像。

另一种常用的方法则是通过图像后处理的方法,即运用各种图像处理技术提高图像质量,医学X射线图像处理技术主要包括图像滤波、图像降噪、图像增强、兴趣区处理和边缘检测等技术,其中最主要也是最最有吸引力的是图像增强技术,图像增强是采用各种数字处理技术改善图像的视觉效果,增强技术

突出医生需要寻找和关心的内容。

传统的图像增强技术很多对处理的实时性效果要求不是太高,然而在一些情况,如医生在为骨折的病人进行钢钉固定手术,必须要求获得的骨折处的实时图像,因为一旦图像出现延缓,医生将工具插入的位置偏离,很可能会导致病人某部分神经受损的医疗事故,因此本文就基于X光图像快速增强技术来进行研究。

1.2、国内外相关研究情况

由于X光图像信息量大、对比度低、细节丰富且模糊。

在处理过程中,提高图像对比度和增强细节信息和抑制噪音是此类图像增强的重点,现在国内外的一些研究者都致力于适应此类图像增强的算法,希望能更高效的改善图像质量,提高诊断准确率。

常用的图像增强算法如下:

直方图均衡法是比较常用的一种方法,但实际应用时不能达到较好的效果。

研究人员会对算法进行改进,这些改进算法可分为两类:

一类对灰度映射进行修改;另一类是将图像划分为子图像,在子图像中利用局部直方图进行处理。

较早的二分直方图增强法以灰度均值为界将图像分为两部分,对两部分进行直方图均衡,该方法在某种程度上保持了原图亮度特性。

Pizer等人将HE算法推广应用于图像的局部分析,提出了局部自适应直方图增强算法(AHE)。

AHE使用局部窗口在图像上滑动并计算局部灰度直方图分布,对窗口中心像素进行灰阶映射。

Jourlin和pinoli提出对数图像处理(logarithmeticimageprocessingLIP)数学模型,该模型定义了自己的加法、减法、微分、积分等运算,具有良好的数学结构和性质。

越来越多的研究将目光转向基于人眼视觉的图像增强算法,并将其应用到医学图像处理领域。

1.3、本文主要研究内容

本文研究的主要内容分为两个方面;首先第一个方面基于传统的X光图像增强算法的基础上,进行优化和改进,从而提高算法处理后的图像的质量和缩短处理的时间,由于是要动态的处理图像,所以对摄像头所获取的每一帧的处理时间最长100ms,所以就要求算法的处理速度必须低于90ms;第二方面就是测试算法所用的测试程序的设计和编写,由于是进行实时的图像处理,所以需采用专业的摄像头进行采集图片,这里所应用的是MVC系列摄像头,并采用C++编写实现过程。

第一章主要介绍X光图像处理的相关背景以及时至今日国内外在这方面的相关探索和研究和所取得相应的成果。

并指明本文所着眼的研究方向和对整体的内容安排做一个总结。

第二章介绍在进行算法测试过程所涉及到的相关设备和技术,主要分为两方面硬件和软件,硬件主要是对MVC摄像头的相关系数和一些接口函数以及驱动的介绍,软件主要是所用到的开发工具和相关技术的支持。

第三章:

算法的设计详细介绍,并将其处理效果与传统直方图均衡化算法的处理效果进行比较,接着对测试软件的需求分析,以及整体的程序设计。

第四章:

程序的详细设计,一些重要代码的分析

第五章:

总结

 

2、相关设备和技术支持

2.1、MVC摄像头

这里采用MVC摄像头,一来是因为很多医学摄像头采用的都是MVC摄像头系列,故采用MVC摄像头对在算法测试过程中更加逼真,从而更有利于算法的设计。

二是因为MVC摄像头本身提供了设备驱动以及一整套的接口函数,这位后期测试系统地编写提供了方便,在这里使用的MVC摄像头的型号是MVC_GE35摄像头系列,下面我就对使用这一摄像头过程中会用到的一些参数和接口函数做一些简单的介绍。

2.1.1、相机参数说明:

(1)、MVCADJ_WIDTH=0

设置千兆网设备的需要采集的图像宽度值。

MVC1024DLM_GE35:

取值范围:

32–1024;默认值:

1024

(2)、MVCADJ_HEIGHT=1,

设置千兆网设备的需要采集的图像高度值。

MVC1024DLM_GE35:

取值范围:

32–15000;默认值:

1024

(3)、MVCDISP_POSX=201,

设置千兆网设备在显示时的窗口X方向起始位置(当MVCDISP_HWND设置的参数为NULL时才启作用)。

(4)、MVCDISP_POSY=202,

设置千兆网设备在显示时的窗口Y方向起始位置(当MVCDISP_HWND设置的参数为NULL时才启作用)。

(5)、MVCDISP_ISDISP=205,

设置千兆网设备在采集时是否需要显示。

取值范围:

0、1默认值:

1(显示)。

参数含义:

0=(不显示),1=(显示)

(6)、MVCDISP_HWND=206,

指定千兆网设备在显示时的窗口句柄(HWND)。

如果需要在指定窗口中显示时,窗口的控制有用户自己控制,如不需要自己控制的可以窗口的,HWND设置为空,这时SDK就自动创建窗口。

(7)、MVCCAP_BUFQUEUESIZE=300,

设置千兆网设备在采集时的Buffer序列数。

(如果在采集、存盘时有丢帧现象可以将Buffer序列数加大)

2.1.2、接口函数说明:

(1)、MV_GetDeviceNumber

原型:

MVAPIDWORDWINAPIMV_GetDeviceNumber()

功能:

获取主机中正确连接的千兆网设备数目。

参数:

无。

返回值:

如果调用成功,返回主机中正确连接的千兆网设备数目;如果未发现设备,返回0,出现问题的可能原因:

主机没有安装驱动;设备没有正确供电;网卡和千兆网设备连接有问题。

(2)、MVC_GetCameraType

原型:

MVCAPIMVC_TYPEWINAPIMVC_GetCameraType(DWORDCardNo)

功能:

获取当前指定的千兆网设备的类型。

参数:

CardNo:

指定设备号。

返回值:

如果调用成功,返回千兆网设备的类型;否则返回0。

说明:

此函数如果指定设备号不存在则返回0;如果选择的设备不是SDK所支持的类型则返回0。

(3)、MVC_GetDeviceInfo

原型:

MVCAPIDWORDWINAPIMVC_GetDeviceInfo(DWORDCardNo,MVCGE_DEVLIST*DevList)

功能:

获取当前指定的千兆网设备的IP地址、MAC地址等信息。

参数:

CardNo:

指定设备号。

DevList:

返回设备信息。

返回值:

如果调用成功,返回

CY_RESULT_OK;否则返回

CY_RESULT_INVALID_ARGUMENT。

说明:

此函数可以获取千兆网设备的IP地址、MAC地址、设备名等信息;用户可以通过MAC地址来区分每个设备。

(4)、MVC_SetDeviceInfo

原型:

MVCAPIDWORDWINAPIMVC_SetDeviceInfo(DWORDCardNo,DEVICE_INFODevInfo,char*InfoStr)

功能:

设置当前指定的千兆网设备的IP地址信息。

参数:

CardNo:

指定设备号。

DevInfo:

DEVICE_INFO的定义参见2.1.2的自定义枚举类型。

InfoStr:

字符指针。

返回值:

如果调用成功,返回CY_RESULT_OK;否则返回

CY_RESULT_INVALID_ARGUMENT。

说明:

此函数可以获取千兆网设备的IP地址、MAC地址、设备名等信息;用户可以通过MAC地址来区分每个设备。

(5)、MVC_FindDevice

原型:

MVCAPIDWORDWINAPIMVC_FindDevice(char*MACAddress)

功能:

根据MAC地址,查找设备是否正常连接在网络上。

参数:

MACAddress:

设备MAC地址。

返回值:

如果设备正常返回成功,CY_RESULT_OK;如果设备不存在则返回CY_RESULT_DEVICE_ERROR。

(6)、MVC_OpenDevice

原型:

MVCAPIDWORDWINAPIMVC_OpenDevice(DWORDCardNo)

功能:

打开指定的千兆网设备。

总的设备数可以通过调用函数MV_GetDeviceNumber获取。

参数:

CardNo:

指定设备号。

返回值:

如果调用成功,返回CY_RESULT_OK;如果指定的设备号错误则返回CY_RESULT_INVALID_ARGUMENT;如果打开设备失败则返回CY_RESULT_DEVICE_OPEN_ERROR,可以调用MVC_GetErrorInfo函数获取错误信息的描述。

说明:

如果指定的设备已经打开,直接返回CY_RESULT_OK。

(7)、MVC_CloseDevice

原型:

MVCAPIDWORDWINAPIMVC_CloseDevice(DWORDCardNo)

功能:

关闭指定的已经打开的千兆网设备,释放资源。

参数:

CardNo:

指定设备号。

返回值:

如果调用成功,返回CY_RESULT_OK;如果指定的设备号错误则返回CY_RESULT_INVALID_ARGUMENT;如果设备已经关闭或没打开则返回CY_RESULT_DEVICE_NO_OPEN。

2.1.3、相机驱动的介绍

MVC系列相机由于在与电脑进行数据传输时,数据量大故采用的是千兆网卡驱动,所以在安装MVC摄像头驱动应先了解电脑上的网卡驱动,如果不是千兆网卡驱动,需安装千兆网卡驱动,我在本次设计中所使用的千兆网卡驱动是RealTec网卡驱动,安装完网卡驱动之后,按照摄像头附带安装驱动文档,进行安装驱动程序DriverTool.exe

2.2、软件支持

在进行算法研究过程中,为了可以看到图形处理效果,所以为此编写小型图形处理软件,而在设计软件过程中会运用到的软件及开发工具:

vc6.0、opencv、DirectShow,下面就对这些软件及开发工具进行简单的介绍

2.2.1、vc6.0开发工具

Vc6.0是我一直都在用的一款由微软开发的开发工具,这款软件提供了比较完善的开发模块如编写动态链接库Dll、静态链接库lib、windowsconsoleprogram等,所以我一般用的都是这款开发工具。

Vc6.0中MFC提供了比较完善的界面开发工具,所以在使用MFC进行初期的界面设计比较方便的,在进行界面设计时直接从工具箱中拖就可以,对于各个控件的消息处理机制,通过类向导便可轻松的添加,选择此开发工具除了设计方便外,还有就是使用简单,上手容易,下面就是开发工具的界面截图

图2.1vc++6.0开发界面

2.2.2、opencv图形开发工具

Opencv是由Intel公司在背后提供支持,它包含了超过500个函数来实现用于图形处理和计算机视觉方面的通用算法,由于opencv无论对商业还是非商业的都是免费的,且可以跨平台,所以在这样一个视觉市场异军突起的时代,它迅速进入市场并迅速被被广大开发者接受,基于opencv在图形处理方面的优势所以选择了它进行开发静态图形处理模块,由于opencv提供的是一个开发库,所以需要在vc6.0中对它进行相应的配置。

下面简单介绍配置的一个过程:

(1)从网上下载opencv安装包,并按照安装向导安装好,我这里是按到了D盘D:

\ProgramFiles\OpenCV;

(2)在vc菜单中选择“工具”->“选项”->“目录”,在Include中将opencv的Include路径加入到路径中;接着在目录中选择library,将opencv的lib文件夹加入路径中。

如下图:

图2.2opencv配置路径

(3)再在菜单中选择“工程”->“设置”在进行下图配置

图2.3opencv配置库

这样就将opencv配置好,便可以开展后期工作。

2.2.3、DirectShow开发包

DirectShow是微软公司在ActiveMovie和VideoforWindows的基础上推出的新一代基于COM(ComponentObjectModel)的流媒体处理的开发包,与Dire-ctX开发包一起发布。

DirectShow使用一种叫FilterGraph的模型来管理整个数据流的处理过程,运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。

这样使在多媒体数据库管理系统(MDBMS)中多媒体数据的存取变得更加方便。

它广泛地支持各种媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等,为多媒体流的捕捉和回放提供了强有力的支持。

这里会用到DirectShow,是在播放通过摄像头所录制的avi视频文件时用到,由于要捕捉实时画面的处理效果,所以要将拍摄的保存为视频文件,然后再通过播放器将视频文件播放观察算法的处理效果,而由于DirectShow也是开发包,它的配置与opencv相似,将其Include文件和lib文件以及baseclasses文件都导入到vc库中,这里中要用到的是DirectShow中的movie类,对视频文件进行加载和控制。

以上就是在为研究算法所开发的软件所会用到的开发工具和一些开发包的简单介绍,后面详细设计中会详细说明。

3、算法和程序设计

3.1、算法设计

传统直方图均衡化算法描述如下:

考虑输入图像,F(i,j)和像素总数n的灰度范围[

],各灰度级rk的概率密度函数P(

),由下式给出:

其中

代表着灰度级

在图像中出现的频数,n代表图像总像素数,k=0,1,2…N-1。

基于算式

(1)算出来的是图像各像素的直方图分布,累积分布函数是通过下式计算的:

HE算法通过使用下式给出的累积分布函数将图像像素分布于灰度可调范围[X0,Xn-1]:

因此,HE算法使图像直方图变化平缓且使图像亮度变化显著。

虽然直方图均衡化算法的处理速度在36ms左右,但是它将图像所有像素均衡化,而医学上有的部位需要特别突出展现出来,如脊椎,直方图均衡化并不能将所需要的部位很明显的突出出来,所以不能达到很明显的效果,如下图

图3.1a图为原图,b为直方图均衡化处理后的图像

通过图4我们可以很明显的看出通过直方图均衡化算法处理后的脊椎图像虽然有些细节得到了增强但是有些细节却被弱化了,这不符合处理的要求,所以直方图均衡化并不能作为处理算法。

下面介绍本次研究的算法如下

(1)首先对图像进行对比度拉伸公式为:

其中Ps(i,j)是图像(i,j)处对比度拉伸之后的灰度值,F(i,j)是图像(i,j)处的原灰度值。

60是代表以灰度值60为分界值,对此灰度值进行5次方的拉伸。

通过第一步主要进行的目的是图像前景和后景之间进行一个灰度值上的一个区分,因为对比度的一个拉伸将前景和后景有了很明显的区分,而这里所选取的两个值都是进行所此实验所得出来的。

(2)接着对进行过对比度拉伸的图像进行均值滤波,其中模板为5*5的模板公式为:

其中pf(i,j)是进行滤波之后的(i,j)处的灰度值;

这第二步进行均值滤波主要是弱化由于噪音或者电磁的干扰所造成的图像上的斑点或者是波纹,通过均值滤波可以在一定程度上弱化这些因素所造成的影响。

(3)然后对得到的图像再进行梯度锐化处理,处理过程如下:

其中a为是通过与算子

相乘计算的点(i,j)处的灰度值,b为与算子

相乘计算获得的(i,j)处的灰度值。

这一步使用梯度锐化处理主要是为了将图像的边界增强,从而使图像中有用图像的边界细节信息凸现出来,让整体的图像看着更明显。

(4)然后对锐化后的图像在进行滤波处理通过公式

(2)进行计算的滤波后的图像pga(i,j);

最后在进行一次均值滤波主要是将前两步所出现的干扰因素继续弱化,是图像达到比较理想的效果。

(5)最后通过下面公式计算的到增强后图像个点的像素值:

以上便为算法的处理过程下面通过几张处理图对算法的处理效果进行分析

ab

c

图3.2a原图b本文中算法处理图,c直方图均衡化算法处理图

通过图5可以看出在原图a中,有很多由于组织结构所遮挡,所造成的所需脊椎部分图像不明显

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2