基于Java GUI的医学数字图像处理及储存系统设计与实现

目录

1 引言 1
2 医学图像处理概述 3
2.1 什么是医学图像处理 3
2.2 医学图像处理及研究内容 3
2.2.1 超声图像 3
2.2.2 X射线图像 4
2.2.3 磁共振成像 5
2.2.4 核医学成像 6
2.3 医学图像处理技术新进展 7
3 Java语言的特点 11
3.1 面向对象编程 11
3.1.1 抽象 11
3.1.2 面向对象编程的3个原则 12
3.2 Java的特性 13
3.3 Java语言的前景 15
4 Java语言实现图像处理 16
4.1 图像增强技术 16
4.1.1 灰度变换 17
4.1.2 伪彩色处理 19
4.1.3 平滑化处理 22
4.1.4 其他图像增强技术 24
4.2 图像分割技术 25
4.2.1 阈值分割法 25
4.2.2 边缘检测法 28
4.3 图像复原技术 31
4.4 本章小结 33
5 设计流程 34
5.1 主流程图 34
5.2 图像处理界面 35
5.3 图像的加载 36
5.4 图像的处理 38
5.5 数据库的建立 42
6 开发工具 44
6.1 JCreator概述 44
6.2 JCreator编辑界面的组成 44
结 论 47
致 谢 48
参考文献 49
2 医学图像处理概述
近年来,随着计算机及其相关技术的迅速发展,图像处理技术日益成熟,使得该技术深入到医学领域的方方面面,开创了数字医疗的新时代。
借助图像处理技术的有力手段,医学图像的质量和显示方法可以得到极大的改善,从而使得诊断水平可以借助于图像处理与分析手段来得到极大的改善,这不仅可以基于现有的医学图像设备来极大地提高医学临床诊断水平,而且能为医学培训、医学研究与教学、计算机辅助临床外科手术等提供电子实现手段,为医学的研究与发展提供坚实的基础,具有无可估量的价值。
2.1 什么是医学图像处理
医学图像处理就是利用计算机系统对生物医学图像进行的具有临床医学意义的处理和分析。
医学图像处理是一个很复杂的过程。医学图像作为一种信息源,也和其它有关病人的信息一样,是医生做出判断时的依据。医生在判读医学图像时,要把图像与他的解剖学、生理学和病理学等知识作对照,还要根据经验来捕捉图像中的有重要意义的细节和特征。所以要从一幅或几幅医学图像中判断出是否有异常,或属于什么疾病,是一种高级的脑力劳动。任意拿一张有异常的CT图像、X线照片或超声图像来看,如果不是训练有素的医生,是难以发现图像上的异常的。所以对医学图像进行处理显得尤为重要。
2.2 医学图像处理及研究内容
2.2.1 超声图像
超声是超过正常人耳能听到的声波,频率在20 000赫兹(Hertz,Hz)以上。超声检查是利用超声的物理特性和人体器官组织声学性质上的差异,以波形、曲线或图像的形式显示和记录,借以进行疾病诊断的检查方法。40年代初就已探索利用超声检查人体,50年代已研究、使用超声使器官构成超声层面图像,70年代初又发展了实时超声技术,可观察心脏及胎儿活动。超声诊断由于设备不似CT或MRI设备那样昂贵,可获得器官的任意断面图像,还可观察运动器官的活动情况,成像快,诊断及时,无痛苦与危险,属于非损伤性检查,因此,在临床上应用已普及,是医学影像学中的重要组成部分。不足之处在于图像的对比分辨力和空间分辨力不如CT和MRI高。
超声在介质中以直线传播,有良好的指向性。这是可以用超声对人体器官进行探测的基础。当超声传经两种声阻抗不同相邻介质的界面时其声阻抗差大于0.1%,而界面又明显大于波长,即大界面时,则发生反射,一部分声能在界面后方的相邻介质中产生折射,超声继续传播,遇到另一个界面再产生反射,直至声能耗竭。反射回来的超声为回声。声阻抗差越大,则反射越强,如果界面比波长小,即小界面时,则发生散射。超声在介质中传播还发生衰减,即振幅与强度减小。衰减与介质的衰减系数成正比,与距离平方成反比,还与介质的吸收及散射有关。
人体结构对超声而言是一个复杂的介质,各种器官与组织,包括病理组织有它特定的声阻抗和衰减特性。本文转载自http://www.biyezuopin.vip/onews.asp?id=14541因而构成声阻抗上的差别和衰减上的差异。超声射入体内,由表面到深部,将经过不同声阻抗和不同衰减特性的器官与组织,从而产生不同的反射与衰减。这种不同的反射与衰减是构成超声图像的基础。将接收到的回声,根据回声强弱,用明暗不同的光点依次显示在影屏上,则可显出人体的断面超声图像,称这为声像图。人体器官表面有被膜包绕,被膜同其下方组织的声阻抗差大,形成良好界面反射,声像图上出现完整而清晰的周边回声,从而显出器官的轮廓。根据周边回声能判断器官的形状与大小。

import java.io.File;
import javax.swing.filechooser.FileFilter;
import java.util.Vector;
import java.util.StringTokenizer;
import java.util.*;

//文件过滤器

public class MyFileFilter extends FileFilter
{
	Vector extensions = new Vector(); //构造一个空向量,使其内部数据数组的大小为 10
    String description;   
    public MyFileFilter(String extensions,String description)
    {
    	super();   //将字符串分解为标记
        StringTokenizer stringTokenizer = new StringTokenizer(extensions,";");   
        while(stringTokenizer.hasMoreElements())   //测试是否包含更多的元素
        	this.extensions.add(stringTokenizer.nextElement());   
        this.description = description;   
    }   
    public boolean accept(File file)
    {
    	if(file.isDirectory())   
        	return   true;   
        String fileName = file.getName();   
        int periodIndex = fileName.lastIndexOf(".");   
        if(periodIndex > 0 && periodIndex < fileName.length() - 1)
        {
        	String extension = fileName.substring(periodIndex + 1).toLowerCase();   
            for(int i = 0;i < extensions.size();i++)   
            	if(extension.equals(extensions.elementAt(i)))   
                	return true;   
        }   
        return false;   
    }   
    public String getDescription()
    {
    	String s = "";   
        for(int i = 0;i < extensions.size();i++)   
        	s += "*." + extensions.elementAt(i) + " ; ";   
        return description + "(" + s + ")";   
    }   
}

基于Java GUI的医学数字图像处理及储存系统设计与实现_第1张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第2张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第3张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第4张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第5张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第6张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第7张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第8张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第9张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第10张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第11张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第12张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第13张图片
基于Java GUI的医学数字图像处理及储存系统设计与实现_第14张图片

你可能感兴趣的:(java,计算机视觉,图像处理,GUI,医学图像处理系统)