AD卡设计与人脑MRI图像分割.docx

上传人:b****6 文档编号:7212001 上传时间:2023-01-21 格式:DOCX 页数:24 大小:527.81KB
下载 相关 举报
AD卡设计与人脑MRI图像分割.docx_第1页
第1页 / 共24页
AD卡设计与人脑MRI图像分割.docx_第2页
第2页 / 共24页
AD卡设计与人脑MRI图像分割.docx_第3页
第3页 / 共24页
AD卡设计与人脑MRI图像分割.docx_第4页
第4页 / 共24页
AD卡设计与人脑MRI图像分割.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

AD卡设计与人脑MRI图像分割.docx

《AD卡设计与人脑MRI图像分割.docx》由会员分享,可在线阅读,更多相关《AD卡设计与人脑MRI图像分割.docx(24页珍藏版)》请在冰豆网上搜索。

AD卡设计与人脑MRI图像分割.docx

AD卡设计与人脑MRI图像分割

1、设计目的、意义

学习USB总线与PCI总线基本结构;练习C语言编程;综合应用医学信号采集与处理、医学成像原理、医学图象处理、计算机编程语言等基础与专业知识,通过理论与实践相结合,熟悉人脑MRI图像特点,掌握图像分割理论方法知识,并灵活应用到人脑MRI图像分割处理上,巩固对医学图像处理方法的掌握程度,提高所学知识的综合应用能力,进一步培养和提高解决实际工程问题的能力。

2、设计内容

(1)USB总线及A/D卡简介

1.1、USB总线概述

USB总线的体系结构

  USB(通用串行总线),由Intel公司提出,带宽为12Mbps,与传统接口总线相比,主要优点有三个,1.可接入多达127个设备,目前计算机外设越来越多,PC机内有限的插槽和接口已经不能满足要求,USB缓解了这一矛盾。

2.可以热插拔,在电脑通电的情况下可以随时热插拔所连接的设备。

3.可即插即用。

  设计USB的设备就必须深入了解USB的体系结构。

USB通用串行总线同其他串行并行接口不同,它是一个软硬件相结合的系统体系,对于刚刚进入USB设计的工程师来说,这个结构是复杂的。

为此,下面论述了USB的一些体系结构和基本概念。

USB总线的总体结构

整个USB总线可以分为3个部分进行描述:

USB连接、USB设备、USB主机(如图1)。

USB连接

  USB连接是指USB主机和USB设备的通信方式与方法,包括:

总线拓扑(USB主机和设备之间的连接方式);层内关系(USB总线每一层中的任务);数据流模式(数据在USB总线上的流动方式);USB调度(USB提供一个共享的服从调度的互连)。

  USB设备是通过USB总线连接到USB主机上的。

USB总线上的物理连接是一个分层的星形拓扑。

处于每个星形拓扑中央的是hub(USB集线器)。

在主机和一个hub或者一个应用之间以及在hub和其它hub或应用之间都是一个点对点的连接。

图1表示了USB的拓扑类型。

USB主机

  在USB总线中只有一个主机。

USB总线与计算机主机系统的接口部分就是主机控制器,它可被看做一个硬件、固件和软件的结合体。

主机系统中集成了一个根hub来提供一个或多个连接点。

USB设备

  首先USB设备可被分为两大类:

hub类(提供附加USB接入点的设备)和功能设备类(为系统实现某些功能的设备,如ISDN适配器、数字游戏杆等)。

  按照功能,USB设备又可分为很多类,如:

音频、人机交互、显示、通信、电源、打印机、海量存储、物理反馈等设备。

每个USB设备都必须提供自鉴定信息和通用的设置。

  USB设备都有一个标准的USB接口,它的作用为:

解释USB协议;对标准USB操作的响应,如挂起和设置等;提供设备的一些描述信息。

  在实际的设计应用中,USB设备的接口有自已的特点。

USB接口的正确设计与设备的性能紧密相关,在USB接口设计之前必须要对设备的功能、指标进行详细的分析。

  连接在USB接口上的设备通过基于令牌和主机控制的协议来共同享用整个USB带宽。

在其它设备正常工作的前提下,USB允许某设备连接、设置、运行和断开连接。

USB数据传逻辑结构

  USB设备在逻辑上分成了几个层次,分别是设备层、配置层、接口层和节点层。

USB设备中各层的逻辑关系如图2所示:

   1.节点:

每个设备内有一个或多个逻辑连接点,称为节点。

   2.接口:

一个设备对主机表现为一组合适的节点,一组相关的节点称为一个接口。

有多个接口的设备称为组合设备。

   3.配置:

设备可以有多组接口,每一组称为一个配置,一次只能有一个配置是活动的。

但是,当前配置中的所有接口(和它们的节点)可以同时是活动的。

大多数设备只有一个配置和一个接口。

当一个设备第一次插入系统时,Windows提示用户选择合适的配置。

   4.管道:

在USB中,传输是在USB设备的某一具节点和主机软件之间进行的,这个相关的结构就称为管道,即为设备的一个节点与主机之间的数据传输的模型。

管道有两种:

流管道和消息管道。

其中消息管道的数据结构是USB定义好的,而流管道没有固定的结构。

另外,数据传输带宽、传输类型、节点的特性(如方向和缓冲大小)都影响着它的管道特性。

大多数的管道在USB设备配置好之后就产生了。

其中有一个最重要的消息管理是“缺省控制管道”,这个管道在设备一加电的时候就存在了,它提供设备的配置和状态等信息的控制。

管道可以是单向的也可以是双向的。

一个USB设备可以有很多个管道,管道之间是相互独立的,比如设备的一个管道可以从主机接收数据而另一个管道可以发送数据。

在一个设备配置中每一个管道(即每一个节点)只能支持下述的一个数据传型。

   5.传输类型:

USB总线包括4种传输类型(传输管道):

    ●控制传输类型:

用于传输控制信息,如:

在连接时配置设备,控制其它管道的状态以及完成一些设备自定的用途。

    ●块数据传输类型:

用于传输相对比较大的和突发性强的数据,一般这种传输的动态范围比较宽。

数据传输的可靠性由硬件层错误检测来保证,对错误的数据可进行重复发送。

块传输是连续的,它的带宽占用依据其它USB设备的使用情况而不同。

这种传输类型一般用于打印机、扫描仪等。

    ●中断数据传输类型:

数据量小,延迟短,通常用于传输设备反馈回计算机的字符和坐标信息,多用于人机交互设备,如鼠标,键盘、游戏杆等。

    ●同步数据传输类型:

占用预先分配的带宽,实时传输。

对于同步传输管道,带宽的要求与设备的采样率有关,时延的要求与每个节点的缓冲大小有关。

为保证数据的实时传输,在传输过程中的一些误码是不被纠正的(如不进行重试等),则实际上USB的心位错误率是十分小的,它完全可以被忽略掉,不足以形成问题。

USB数据传输的逻辑模型如图3所示:

  根据实际应用中得出的经验,工程技术人员需要预先计划好的USB接口指标包括:

所设计的USB设备的带宽,由此确定设备为低速设备还是全速设备;是否采用多重配置;是否采用多个接口,即设备是否是复合设备,是否包括多个功能;设备的每个功能都分别包括几个管道(节点),各个管道的传输方式和它们之间有什么关系。

只有把这些问题都分析清楚,才可以着手进行下一下的详细设计。

随着USB2.0协议的推出,USB的应用范围将更为扩大。

USB2.0所定义的带宽为480Mbps,它的出现将彻底改变USB只能在低速设备上应用的现状。

由于有相同的USB高速模式的结构,从现有的USB1.1外设向USB2.0转移相对来说比较容易的,所以全面了解USB的体系结构对于USB1.1和USB2.0设备的设计都是非常重要的。

1.2、PCI-20612型A/D采集卡

PCI-20612是一种基于32位PCI总线的数据采集卡。

它采用了大规模门阵列设计技术、表面贴装工艺等先进手段制作而成,广泛应用于实验室、生产现场或野外对冲击、爆炸等原因引起的压力、电磁波、温度等各种动态过程进行实时数据采集。

1.2.1、系统特性

PCI-20612数据采集卡有如下特点:

◎32BitPCI总线,即插即用

◎4通道同步采样

◎每通道最高采样率50Msps

◎高精度12-bitA/D

◎每通道独立的8个可程控量程档

◎多种触发模式,正、负延时功能

◎连续记录或单次记录

◎每通道缓存4M样点(最高可到8M)

◎模拟电路屏蔽罩,提高信噪比

◎多卡同步扩展接口

◎大规模门阵列设计技术

◎系统自校准功能,无电位器

◎通过EEPROM——电可擦写存储器保存校准参数,硬件电路补偿

◎表面贴装工艺制作

1.2.2、应用领域

◎高采样率的自动化设备

◎金属探伤

◎激光打靶的快速温度变化

◎爆炸压力、温度变化

◎冶金铸造行业中的金相分析

1.2.3、性能参数详述

模拟输入:

◎通道数:

4通道/卡,多卡可并行扩展

◎最高采样率:

50Msps/CH,往下可分18个档程控设置

◎A/D分辨率:

12Bit

◎板载缓存:

4M样点/通道(最高可到8M)

◎输入方式:

BNC单端电压输入

◎量程(输入范围):

±100mV,±200mV,±500mV,±1V,±2V,±4V,±10V,±20V

◎输入阻抗:

1兆欧

◎输入电容:

≤25PF

◎输入信号带宽:

0Hz~7MHz

◎耦合方式:

交流、直流、地

◎直流精度:

误差≤±0.5%

◎通道间相位差:

≤1°(0Hz~2MHz)

◎带内波动:

≤±0.2dB(0Hz~1MHz)

◎信噪比:

≥52dB

◎通道间隔离度:

≥90dB

◎时钟:

本地内时钟、总线时钟

◎触发方式:

手动触发,内触发(包括上升沿触发、下降沿触发、两电平内触发、两电平外触发),外触发。

多卡扩展具有触发逻辑或、逻辑与功能

◎触发电平:

内触发电平在量程之内,外触发电平是TTL电平

◎数据记录起点:

正负延时记录,长度可设置

◎时基:

可在单时基模式下并行采集,或在多时基模式下各采集卡独立采集

1.3、A/D信号采集与仿真

A/D信号采集数据波形

图4A/D卡采集所得信号

Matlab仿真程序及波形

load('C:

\DocumentsandSettings\Administrator\桌面\wang.txt');

x=wang(:

1);

y=wang(:

2);

plot(x,y);

ylabel('y轴单位v');

xlabel('x轴单位s');

title('王宣');

图6Matlab仿真波形

(2)、人脑MRI图像分割处理

2.1总体设计方案简介

采用阈值化图像分割时通常需要对图像作一定的模型假设。

利用图像模型尽可能了解图像有几个不同的区域组成。

基于图像分割模型经常采用这样一种假设:

目标或背景内相邻像素间的灰度值是相似的,但不同目标或背景的像素在灰度上存有差异。

设原始图像为f(x,y),按照一定准则在f(x,y)中找到某种特征值,该特征值便是进行分割时的阈值T,或者找到某个合适的区域空间Ω,将图像分割成两个部分,分割后的图像为

对于有多种阈值情况,分割后的图像可以表示为:

其中

是一组分割阈值,

是经分割后对应不同区域的图像灰度值,K为分割后的区域或目

标数,

无论是单阈值分割还是多阈值分割,都是选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。

2.2单元设计

2.2.1给原图像加入噪声并去噪

1.噪声:

图像噪声是图像在摄取或传输时所受的随机信号干扰,是图像中各种妨碍人们对其信息接受的因素。

很多时候将图像噪声看成是多维随机过程,因而描述噪声的方法完全可以借用随机过程的描述,即用其概率分布函数和概率密度分布函数。

按概率密度函数(PDF)分类

高斯噪声:

在空间域和频域中,由于高斯噪声(也称为正态噪声)在数学上的易处理性,这种噪声模型经常被用于实践中。

瑞利噪声:

瑞利密度对于近似偏移的直方图十分适用。

伽马(爱尔兰)噪声

    指数分布噪声

均匀分布噪声

脉冲噪声(椒盐噪声):

双极脉冲噪声也称为椒盐噪声,有时也称为散粒和尖峰噪声。

这种分类方法由于引入数学模型,就有助于运用数学手段去除噪声。

2、中值滤波

中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值.

实现方法:

  1:

通过从图像中的某个采样窗口取出奇数个数据进行排序

  2:

用排序后的中值取代要处理的数据即可

中值滤波法对消除椒盐噪音非常有效

下面我们以引入脉冲噪声为例进行说明

Matlab噪声引入及去噪源程序

I=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

J=imnoise(I,'salt&pepper',0.05);

subplot(231),imshow(I);title('原图像');

subplot(232),imshow(J);title('添加椒盐噪声图像');

k1=medfilt2(J);%进行3*3模板中值滤波

k2=medfilt2(J,[5,5]);%进行5*5模板中值滤波

k3=medfilt2(J,[7,7]);%进行7*7模板中值滤波

k4=medfilt2(J,[9,9]);%进行9*9模板中值滤波

subplot(233),imshow(k1);title('3*3模板中值滤波');

subplot(234),imshow(k2);title('5*5模板中值滤波');

subplot(235),imshow(k3);title('7*7模板中值滤波');

subplot(236),imshow(k4);title('9*9模板中值滤波');

matlab仿真图像

图7添加噪声及中值滤波图像

2.2.2、数学形态学的基本思想

形态运算的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状,达到图像分析和识别的目的。

形态运算可以简化图像数据,在保持图像的基本特性的基础之上消除不相干的结构。

基本的形态运算有四种:

膨胀、腐蚀、开启与闭合。

运算的对象是像素的集合。

习惯上,被处理的图像A称图像集合,对其作用的B称结构元素。

形态运算是用B对A进行操作。

.1、膨胀运算

膨胀是在结构元素的约束下,将与物体接触的部分背景点合并到该物体之中的过程。

运算结果使物体的面积增大了相应数量的点。

例如,假设结构元素是半径为r个像素的小圆,被作用的物体是一个大圆。

膨胀运算的结果是沿大圆边界向外增长了r个像素的宽度,即直径增加2r。

如果被作用的图像中有两个相临的物体在某一处相隔少于2r+1,膨胀的结果将使这两个物体在该点连通,合并成为一个物体。

膨胀运算的数学定义为

公式的含义是,先对结构元素B关于自身原点做映射,得到()。

再将其平移至点x与A的交集不为空集的像素点x的集合。

也就是说,位移后与A至少有一个非零元素相交时,B的原点位置的集合。

膨胀运算的matlab实现

I1=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

subplot(1,2,1);

imshow(I1);

title('灰度图像')

axis([10,250,10,240]);

gridon;%显示网格线

axison;%显示坐标系

se=strel('disk',1);%生成圆形结构元素

I2=imdilate(I1,se);%用生成的结构元素对图像进行膨胀

subplot(1,2,2);

imshow(I2);

title('膨胀后图像');

axis([10,250,10,240]);

gridon;%显示网格线

axison;%显示坐标系

matlab仿真图像

图8膨胀后图像

.2、腐蚀运算

腐蚀是在结构元素的约束下,消除物体的部分边界点的一种过程。

运算结果使物体的面积减少了相应数量的点。

例如,假设结构元素是半径为r个像素的小圆,被作用的物体是一个大圆。

膨胀运算的结果是沿大圆边界向内减少了r个像素的宽度,即直径减少2r(图)。

如果被作用的图像中的物体在某一处宽度少于2r+1,腐蚀的结果将使物体在该点断开,合裂成为两个物体。

在任何方向宽度不大于2r个像素的物体将被消除。

因此,腐蚀运算将一幅图像中除去小且无意义的物体,突出主要感兴趣目标。

腐蚀运算的malab实现

I1=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

subplot(1,2,1);

imshow(I1);

title('灰度图像')

axis([10,250,10,240]);

gridon;%显示网格线

axison;%显示坐标系

se=strel('disk',1);%生成圆形结构元素

I2=imerode(I1,se);%用生成的结构元素对图像进行腐蚀

subplot(1,2,2);

imshow(I2);

title('腐蚀后图像');

axis([10,250,10,240]);

gridon;%显示网格线

axison;%显示坐标系

图9腐蚀后图像

.3、开、闭运算

开运算:

对图像物体先腐蚀后膨胀的过程称作开运算。

它具有消除图像中细小物体、在纤细处分离物体,和平滑较大物体边界而又不明显改变其面积和形状的作用。

闭运算:

对图像物体先膨胀后腐蚀的过程称作闭运算。

它具有填充图像物体内部细小孔洞、连接邻近的物体,在不明显改变物体的面积和形状的情况下平滑其边界的作用

开闭运算的matlab实现

I1=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

subplot(2,2,1),imshow(I1);

title('原始图像');

axis([10,250,10,240]);

axison;%显示坐标系

subplot(2,2,2),imshow(I1);

title('灰度图像');

axis([10,250,10,240]);

axison;%显示坐标系

se=strel('disk',1);%采用半径为1的圆作为结构元素

I2=imopen(I1,se);%开启操作

I3=imclose(I1,se);%闭合操作

subplot(2,2,3),imshow(I2);

title('开启运算后图像');

axis([10,250,10,240]);

axison;%显示坐标系

subplot(2,2,4),imshow(I3);

title('闭合运算后图像');

axis([10,250,10,240]);

axison;%显示坐标系

图10开启和闭合后图像

开闭组合运算matlab实现

I1=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

subplot(1,3,1),imshow(I);

title('原始图像');

axis([10,250,10,250]);

axison;%显示坐标系

se=strel('disk',1);

I4=imopen(I1,se);

I5=imclose(I4,se);

subplot(1,3,2),imshow(I5);%开—闭运算图像

title('开—闭运算图像');

axis([10,250,10,250]);

axison;%显示坐标系

I6=imclose(I1,se);

I7=imopen(I6,se);

subplot(1,3,3),imshow(I7);%闭—开运算图像

title('闭—开运算图像');

axis([10,250,10,250]);

axison;%显示坐标系

matlab仿真图像

图11开闭运算和闭开运算后图像

形态学边界提取matlab实现

I=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

subplot(1,3,1),imshow(I);

title('原始图像');

axis([10,250,10,250]);

gridon;%显示网格线

axison;%显示坐标系

I1=im2bw(I);

subplot(1,3,2),imshow(I1);

title('二值化图像');

axis([10,250,10,250]);

gridon;%显示网格线

axison;%显示坐标系

I2=bwperim(I1);%获取区域的周长

subplot(1,3,3),imshow(I2);

title('边界周长的二值图像');

axis([10,250,10,250]);

gridon;

axison;

图12二值化图像

形态学骨架提取matlab实现

I=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

subplot(2,2,1),imshow(I);

title('原始图像');

axis([10,250,10,250]);

axison;

I1=im2bw(I);

subplot(2,2,2),imshow(I1);

title('二值图像');

axis([10,250,10,250]);

axison;

I2=bwmorph(I1,'skel',1);

subplot(2,2,3),imshow(I2);

title('1次骨架提取');

axis([10,250,10,250]);

axison;

I3=bwmorph(I1,'skel',2);

subplot(2,2,4),imshow(I3);

title('2次骨架提取');

axis([10,250,10,250]);

axison;

matlab仿真结果

图13骨架提取图像

2.2.3、阈值分割

1、阈值分割原理

阈值化图像分割是一种最基本的图像分割方法,经过半个多世纪的研究,现已提取了大量的算法。

其基本原理就是选取一个或多个处于灰度图像范围之中的灰度阈值,然后将图像中各个像素的灰度值与阈值比较,并根据比较的结果将图像中的对应像素分成两类或多类,从而把图像划分成互不重叠的区域集合,达成图像分割的目的。

采用阈值化图像分割时通常需要对图像作一定的模型假设。

利用图像模型尽可能了解图像有几个不同的区域组成。

基于图像分割模型经常采用这样一种假设:

目标或背景内相邻像素间的灰度值是相似的,但不同目标或背景的像素在灰度上存有差异。

设原始图像为f(x,y),按照一定准则在f(x,y)中找到某种特征值,该特征值便是进行分割时的阈值T,或者找到某个合适的区域空间Ω,将图像分割成两个部分,分割后的图像为

对于有多种阈值情况,分割后的图像可以表示为:

其中

是一组分割阈值,

是经分割后对应不同区域的图像灰度值,K为分割后的区域或目

标数,

无论是单阈值分割还是多阈值分割,都是选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。

2、阈值分割方法

阈值分割就是设置一个门限(阈值),凡图像灰度值大于等于(或小于等于)门限的归为一类,剩余的归为另一类,其中一类为背景,另一类为目标。

阈值分割matlab实现

图像增强

灰度线性变换matlab实现

I1=imread('C:

\DocumentsandSettings\Administrator\桌面\2.bmp');

subplot(1,3,1),imshow(I);

title('原始图像');

axis([10,250,10,250]);

axison;%显示坐标系

J=imadjust(I1,[0.10.5],[]);%局部拉伸,把[0.10.5]内的灰度拉伸为[01]

subplot(1,3,2),imshow(J);

title('线性变换图像[0.10.5]');

axis([10,250,10,250]);

gridon;%显示网格线

axis

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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