网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > DELPHI类作品 > 正文

DELPHI医院B超图像处理系统的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/11

网学网为广大网友收集整理了,DELPHI医院B超图像处理系统的设计,希望对大家有所帮助!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

3.5 数据库
3.5.1数据库E—R图
3 数据库E-R图
病人,医生,图片是E-R图中的三个实体。病人有编号,姓名,年龄,性别,门诊号,住院号,联系电话这七个属性;医生有代码,姓名,科室名称这三个属性;图片有文件名,生成时间,生成日期,检查项目这四个属性。病人和医生两个实体间是看病的关系,其中一个医生可以诊治多个病人,病人和图片之间的关系是产生,其中一个病人可以拥有多张图片。
3.5.2数据表结
2 病人信息表

列名
中文名称
类型
字段长度
是否为空
备注
brbh
病人编号
varchar
12
Not null
Primary key
brxm
病人姓名
varchar
8
Not null
 
brxb
病人性别
varchar
12
Not null
 
brnl
病人年龄
int
 
Not null
 
mzh
门诊号
varchar
12
null
 
zyh
住院号
varchar
12
null
 
ysdm
医生代码
char
4
Not null
 
jcxm
检查项目
varchar
20
Not null
 
lxdh
联系电话
varchar
15
Not null
 

3 医生信息表

列名
中文名称
类型
字段长度
是否为空
备注
ysdm
医生代码
char
4
Not null
Primary key
ysxm
医生姓名
varchar
8
Not null
 
ksmc
科室名称
varchar
16
Not null
 

 
4 图片信息表

列名
中文名称
类型
字段长度
是否为空
备注
tpwj
图片文件名
varchar
50
Not null
Primary key
scrq
图片生成日期
char
8
Not null
 
scsj
图片生成时间
char
8
Not null
 
ysdm
医生代码
char
4
Not null
Foreign key
brbh
病人编号
brbh
12
Not null
Foreign key
jcxm
检查项目
jcxm
20
Not null
 

 
5 检查项目表

列名
中文名称
类型
字段长度
是否为空
备注
xmdm
项目代码
int
 
Not null
Primary key
xmmc
项目名称
varchar
20
Not null
 

 
 
4.重要代码的实现
Delphi
1.在B超预览单元里,显示动态图像和捕捉静态图像的截图
显示动态图像和捕捉静态图像的截图
public
picWidth, PicHeight: Integer;
CurPanel, CurPic: Integer;
PicEdited: Integer;
ImageEdited: Integer;
BitBMP: array [1..5] of TBitMap;
1)对图像的捕捉
procedure TVideoFrame.CapPic(Sender: TObject);
var
    BMPFileName: String;
    ss,temp: String;
    date: SYSTEMTIME;
    BMPFile: TBitMap;
begin
    btCapPic.Enabled:= false;
    cdCapPic.Enabled:= false;
 
    BMPFileName:= ss + ''.bmp'';
    if fmECHO.PicFileName[CurPic]='''' then
    begin
        BitBMP[CurPic]:= TBitMap.Create;
        CheckListBox1.Items.Add('''' + IntToStr(CurPic) + ''幅'');
    end;
fmECHO.PicFileName[CurPic]:= BMPFileName;
CapSetSingleImageFileName(BMPFileName);
    CapGrabSingleFrame;
 
    BMPFile:= TBitMap.Create;
    try
      BMPFile.LoadFromFile(BMPFileName);
      BitBMP[CurPic].PixelFormat:= BMPFile.PixelFormat;
      BitBMP[CurPic].Width:= PicWidth;
      BitBMP[CurPic].Height:=round(BitBMP[CurPic].Width*BMPFile.Height/BMPFile.Width);
    BitBMP[CurPic].Canvas.StretchDraw(Bounds(0,0,BitBMP[CurPic].Width,BitBMP[CurPic].Height),BMPFile);
            if CurPanel > 3 then
            begin
                CurPanel:= 3;
                if CurPic <= 5 then
                begin
      RadioButton1.Caption:= IntToStr( StrToInt(RadioButton1.Caption)+1 );
       RadioButton2.Caption:= IntToStr( StrToInt(RadioButton2.Caption)+1 );
       RadioButton3.Caption:= IntToStr( StrToInt(RadioButton3.Caption)+1 );
Image2.Picture.BitMap:= BitBMP[StrToInt(RadioButton1.Caption)];
       Image3.Picture.BitMap:= BitBMP[StrToInt(RadioButton2.Caption)];
                end;
                Image4.Picture.BitMap:= BitBMP[CurPic];
                CurPanel:= CurPanel + 1;
                CurPic:= CurPic + 1;
            End
else
            case CurPanel of
                1: begin
                       Image2.Picture.BitMap:= BitBMP[CurPic];
                       RadioButton2Click(Sender);
                    end;
                2: begin
                        Image3.Picture.BitMap:= BitBMP[CurPic];
                        RadioButton3Click(Sender);
                    end;
                3: begin
                        Image4.Picture.BitMap:= BitBMP[CurPic];
                        CurPanel:= CurPanel + 1;
                        CurPic:= CurPic + 1;
                    end;
            end;
2)实现图像的前翻操作
 
procedure TVideoFrame.BitBtn1Click(Sender: TObject); //向前翻一幅
begin
    RadioButton1.Caption:= IntToStr( StrToInt(RadioButton1.Caption)-1 );
    RadioButton2.Caption:= IntToStr( StrToInt(RadioButton2.Caption)-1 );
    RadioButton3.Caption:= IntToStr( StrToInt(RadioButton3.Caption)-1 );
    if fmECHO.PicFileName[StrToInt(RadioButton1.Caption)]='''' then
        Image2.Picture:= Nil
    else
        Image2.Picture.BitMap:= BitBMP[StrToInt(RadioButton1.Caption)];
 
    if fmECHO.PicFileName[StrToInt(RadioButton2.Caption)]='''' then
        Image3.Picture:= Nil
    else
        Image3.Picture.BitMap:= BitBMP[StrToInt(RadioButton2.Caption)];
 
    if fmECHO.PicFileName[StrToInt(RadioButton3.Caption)]='''' then
        Image4.Picture:= Nil
    else
        Image4.Picture.BitMap:= BitBMP[StrToInt(RadioButton3.Caption)];
 
    CurPanel:= CurPanel - 1;
    if CurPanel = 0 then
        CurPanel:= 1;
    Image2.Refresh;
    Image3.Refresh;
    Image4.Refresh;
    btBack.Enabled:= true; //重新确定后翻权限
    if StrToInt(RadioButton1.Caption) = 1 then //重新确定前翻权限
         BitBtn1.Enabled:= false;
end;
 
1.      图片管理单元里,对图像进行修改操作的截图
图像进行修改操作的截图
3)放大图像
Type
   RulerCBox: TComboBox;
Public
ToAct_bl: Integer; //ToAct_bl是相对于原始大小的比例
    PicShow: TBitMAP;
    PicNormal: TBitMAP;
    PicPreWidth: Integer;
procedure TfmPicManager.btToLargeClick(Sender: TObject);
begin
    case ToAct_bl of
    50 : begin
            PicLargeChange(150);
            ToAct_bl:= 75;
            RulerCBox.ItemIndex:= 5;
         end;
    75 : begin
            PicLargeChange(133);
            ToAct_bl:= 100;
            RulerCBox.ItemIndex:= 4;
         end;
    100: begin
            PicLargeChange(150);
            ToAct_bl:= 150;
            RulerCBox.ItemIndex:= 3;
         end;
    150: begin
            PicLargeChange(134);
            ToAct_bl:= 200;
            RulerCBox.ItemIndex:= 2;
         end;
    200:
         begin
            PicLargeChange(125);
            ToAct_bl:= 250;
            RulerCBox.ItemIndex:= 1;
         end;
    250: begin
            PicLargeChange(120);
            ToAct_bl:= 300;
            RulerCBox.ItemIndex:= 0;
         end;
    end;
end;
procedure TfmPicManager.PicLargeChange(bl: Integer);
begin
    PicShow.PixelFormat:= PicNormal.PixelFormat ;
    PicShow.Width:= round(PicPreWidth * bl / 100); //根据比例来确定图片的大小
    PicShow.Height:= round(PicShow.Width * PicNormal.Height/PicNormal.Width);
    PicShow.Canvas.StretchDraw(Bounds(0, 0, PicShow.Width, PicShow.Height),
                            PicNormal);
    PicPreWidth:= PicShow.Width;
    ForeImage.Picture.Bitmap:= PicShow;
    BackImage.Picture.Bitmap:= PicShow;
 
 
  
通过本次的课题设计,设计出了一个可以帮助医生管理B超图像的系统,在医疗事业日益发展的今天,这样的系统是非常需要的.这次设计完成了最初的目的,可以对病人的资料进行修改,查询,可以动态地呈现图像并对重要的画面进行捕捉,对捕捉到的静态图像进行放大,缩小等操作,实现了一个病例保存多幅图像的功能,并且界面友好,同时易于操作.
计算机这十年来飞速发展,几乎走进了家家户户,社会也更需要以来计算机来完成一些人们难以完成的工作.医疗事业与人们的生活息息相关,对这类实用软件系统的需求会越来越多,编程者们将会投入大量精力来设计这类软件,有了它们的帮助,相信我国的医疗事业将会蓬勃发展,为全社会的人谋求更多的福利.
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师