当前位置:首页 > 心得体会 > ps图像变形_MATLAB在图像变形中的应用
 

ps图像变形_MATLAB在图像变形中的应用

发布时间:2019-02-23 04:34:08 影响了:

  [摘要]图像变形技术是指将一幅图像平滑地变换到另一幅图像的方法,它是一种有用的图像处理方法。因此,介绍一种简单的图像变形技术――Morphing技术的原理和算法,以及MATLAB实现的伪代码,最后用一个实例验证图像变形的整个过程。
  [关键词]图像变形Morphing技术MATLAB
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1110095-01
  
  一、引言
  
  图像变形技术是指将一幅图像A平滑地变换为另一幅图像B的方法,它实质上是将原图像平滑地变换到目标图像的一种数学变换。它是一种非常有效的视觉效果,常被用在教育及娱乐业上。如著名的科幻影片《终结者Ⅱ》中就大量地采用了图像变形技术,影片中的液态机器人杀手经常变换外形,相信给观众留下了深刻的印象。
  图像变形的思路与技术方案有多种,其中有一个重要分支是Morphing
  技术。其思想是指定一个变换,该变换把第一幅图像变形成为第二幅图像。它的逆变换把第二幅图像变形成为第一幅图像。由变形而生成的图像序列中,前面部分很像第一幅原始图像,中间部分既像第一幅原始图像又像第二幅目标图像,后面部分则很像第二幅目标图像。
  MATLAB软件是一个功能强大的科学及工程计算软件包,它的基于向量(数组)的特点使它从本质上提供了对图像处理的支持。MATLAB软件还提供了一个功能强大的图像处理工具箱,使得开发者可以方便快速地用MATLAB软件来实现自己的算法。本文采用MATLAB软件实现了Morphing技术的实现图像变形的方法。
  
  二、原理与算法
  
  显然,图像变形不但是图像在空间域(x,y)上的变换,同时也是在时间域t上的变换。本文的目的是利用图像变形算法产生图像A逐渐变换到图像B的过程中的每一“祯”图像,并将由变形而生成的图像序列生成一个视频文件(如AVI格式)。
  设图像A与B的空间域描述函数为f(x,y)和g(x,y),其中(x,y)表示像素点的位置,f(x,y)和g(x,y)表示该位置像素点的值(可以是灰度值或RGB色彩值)。则每次变形变换产生的“一祯”图像是A图像和B图像的线性组合:
  其中,t表示经过变换的时间。上述公式即是图像变形技术的基础。在这里,需要注意的是,不能将像素点值直接相加,而应该将它的RGB分量求出后(灰度图像的RGB分量值是互相相等的),再利用上面的公式分别计算新像素点的RGB分量并合成为新像素点的值。MATLAB中提供了一个名为imlincomb的函数,它可以实现多幅图像的线性组合,该函数在实现中考虑了上述分量的计算问题,其原形为:
  Z = imlincomb(k1,a1,k2,a2,…,kn,an)
  其中ki(1≤i≤n)为组合系数,ai(1≤i≤n)为各个被组合的图像数据(各个图像尺寸相同)。组合结果图像为:
  至此,整个图像变形过程可以用伪代码描述如下:
  Procedure MorphingImages;
  Begin
  // 读入图像文件A和B,变形为A->B
  F = LoadImage(A);
  G = LoadImage(B);
  Avi = CreatAVIFile;// 创建一个AVI动画文件
  T = 0.00;
  While ( T 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3