| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> delphi >> 多媒体类 >> 文章正文
实现图象局部放大的原理和方法            【字体:
实现图象局部放大的原理和方法
作者:不祥    文章来源:-    点击数:    更新时间:2006-12-12

width="84%">
实现图象局部放大的原理和方法

●海南大学 叶斗彪


摘 要:为图象观察器增加一个“放大镜”,对图象进行局部放大,是产品推销商和动物解剖学师生们梦寐以求的。本文介绍实现图象局部、平滑和无闪烁放大的算法原理及实现技术。

关键词:放大镜 画布 Delphi CopyRect


  1. 实用价值
  2. 目前,有许多流行的图象观察软件和图象处理软件,为人们在电脑屏幕上浏览和加工美丽的图象提供了方便。然而遗憾的是,这些软件在图象放大方面却不尽如人意。它们往往只能对整幅图象进行放大,而不能随意地放大图象的局部,就连微软公司随Windows提供的画图软件也不例外。

    对图象局部进行放大,具有极高的实用价值。产品推销商可以将此项技术应用于新产品的展示和推广之中,让用户能够对其产品的不同部位,如汽车的表面镀铬工艺和新型的挡风玻璃等进行放大观看。通过电脑网络上动物解剖课的学生,亦可用其放大小白鼠或是青蛙的不同部位,以便更清晰地观察血管和各种器官。就象在日常生活中,人们手持放大镜,在地图或照片上移动的情景!

    本文介绍实现图象局部、平滑和无闪烁放大的算法原理,以及在Delphi中实现的技术。读完本文,您一定会为Delphi能用如此少的代码实现如此强大的功能惊叹不已,这是许多其它开发工具所无法比拟的。

  3. 算法原理
  4. 在Delphi中,可利用类Tcanvas的CopyRect方法实现图象的放大和缩小。其功能是将源画布上的一个指定矩形区域(简称源矩形)内的象素,拷贝到目的画布上的一个指定矩形区域(简称目的矩形)中。亦可称之为象素块复制,如图1所示。

    由CopyMode属性确定拷贝的模式。在直接拷贝模式(cmSrcCopy)下,当源矩形与目的矩形相等时,图象不变;若源矩形大于目的矩形,图象则缩小;而当源矩形小于目的矩形时,图象便被放大(在目的矩形中扩展)。源矩形与目的矩形大小之比,决定图象的缩放倍数。CopyRect方法声明如下:

    Procedure CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: Trect);

    其中参数,Dest为目的矩形,Canvas是源画布,Source为源矩形。

  5. 实现步骤

  1. 新建应用程序主目录C:\Magnifier及其子目录Images,将事先制作好的位图图象Picture.bmp存入Images目录。本例中,Picture.bmp的大小为260*310象素。
  2. 启动Delphi IDE,新建项目Magnifier.dpr,主窗体单元命名为Main.pas,存入C:\Magnifier目录。在主窗体上放置一个TPanel组件,并在其中加入两个TImage组件。两个TImage组件分别命名为ForeImage和BackImage,前者重叠于后者之上,并且都装入Picture.bmp位图。
  3. 主窗体和各组件的主要属性按表1设置:

    表1 主窗体和各组件属性设置

    组 件

    属 性

    设 置

    Form1

    BorderIcons.biMaximize

    False

    BorderStyle

    bsNone

    Color

    clRed

    Height

    364

    KeyPreview

    True

    Name

    MainForm

    Position

    poScreenCenter

    Width

    294

    WindowState

    wsNormal

    Panel1

    Align

    alNone

    BevelInner

    bvLowered

    BevelOuter

    bvRaised

    BevelWidth

    [1] [2] [3] [4] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 在多媒体文件中批量抓取图象

  • 使用DELPHI实现文本文件显示…

  • 在Delphi中使用DirectX

  • 用Delphi进行OpenGL编程学习…

  • 如何将Wav文件做到EXE文件里

  • 改变图片效果

  • 用DELPHI实现位图显示特技

  • DELPHI显示JPEG图像文件

  • Delphi中对Jpeg格式文件的处…

  • 基于Delphi的图像漫游

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |