彩票走势图

LEADTOOLS使用教程:图像的几何变换

转帖|使用教程|编辑:龚雪|2014-09-17 09:24:18.000|阅读 749 次

概述:本文主要介绍LeaTools的图像几何变换。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

1. 高级缩放类

调整已有图像的大小,并将调整后的图像设为目标图像,原始图像不变。

将图像调整到一个新的宽和高。

 

以下为使用 类的代码片段(注:Resize.rar):

  1: RasterCodecs codecs = new RasterCodecs();
  2: string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
  3: string destFileName = Path.Combine(ImagesPath.Path, "ResizeCommand.bmp");
  4: 
  5: // 从磁盘加载原始图像
  6: RasterImage srcImage = codecs.Load(srcFileName);
  7: 
  8: // 创建目标图像
  9: RasterImage destImage = new RasterImage(
 10:    RasterMemoryFlags.Conventional,
 11:    100,
 12:    100,
 13:    srcImage.BitsPerPixel,
 14:    srcImage.Order,
 15:    srcImage.ViewPerspective,
 16:    srcImage.GetPalette(),
 17:    IntPtr.Zero,
 18:    0);
 19: 
 20: // 将原始图像调整大小
 21: ResizeCommand command = new ResizeCommand();
 22: command.DestinationImage = destImage;
 23: command.Flags = RasterSizeFlags.Bicubic;
 24: command.Run(srcImage);
 25: 
 26: // 将调整后的图像保存至磁盘
 27: codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24);
 28: 
 29: // 清理
 30: srcImage.Dispose();
 31: destImage.Dispose();
 32: codecs.Dispose();


以下为使用SizeCommand类的代码片段(注:Resize.rar):

  1:    RasterCodecs codecs = new RasterCodecs();
  2:    string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
  3:    string destFileName = Path.Combine(ImagesPath.Path,"SizeCommand.bmp");
  4: 
  5:    // 从磁盘加载原始图像
  6:    RasterImage image = codecs.Load(srcFileName);
  7:    SizeCommand command = new SizeCommand();
  8:    command.Width = 128;
  9:    command.Height = 128;
 10:    command.Flags = RasterSizeFlags.Resample;
 11:    command.Run(image);
 12: 
 13:    // 将图像保存至磁盘
 14:    codecs.Save(image, destFileName, RasterImageFormat.Bmp, 8);
 15: 
 16:    // 清理
 17:    image.Dispose();
 18:    codecs.Dispose();

2. 高级裁剪类

 

 

裁剪当前图像,删除边缘的空白区域

 

 

若使用了类,可以使用此类获取裁剪时使用的矩形。

 

 

使用定义好的矩形裁剪图像。

 

以下为使用类的代码片段(注:CropCommand.rar):

  1: // 加载图像
  2: RasterCodecs codecs = new RasterCodecs();
  3: codecs.ThrowExceptionsOnInvalidImages = true;
  4: RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));
  5: 
  6: // 准备command
  7: AutoCropCommand command = new AutoCropCommand();
  8: 
  9: //在误差20内自动裁剪图像
 10: command.Threshold = 20;
 11: 
 12: command.Run(image);


以下为使用AutoCropRectangleCommand类的代码片段(注:CropCommand.rar):

  1:    //加载图像
  2:    RasterCodecs codecs = new RasterCodecs();
  3:    codecs.ThrowExceptionsOnInvalidImages = true;
  4: 
  5:    RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));
  6: 
  7:    // 准备command
  8:    AutoCropRectangleCommand command = new AutoCropRectangleCommand();
  9:    command.Threshold = 0;
 10:    command.Run(image);
 11:    MessageBox.Show("左 = " + command.Rectangle.Left.ToString() + "\n" +
 12:          "上 = " + command.Rectangle.Top.ToString() + "\n" +
 13:          "右 = " + command.Rectangle.Right.ToString() + "\n" +
 14:          "下 = " + command.Rectangle.Bottom.ToString());


以下为使用CropCommand类的代码片段(注:CropCommand.rar):

  1:    RasterCodecs codecs = new RasterCodecs();
  2:    string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
  3:    string destFileName = Path.Combine(ImagesPath.Path, "CropCommand.bmp");
  4: 
  5:    //从磁盘中加载原始图像
  6:    RasterImage image = codecs.Load(srcFileName);
  7: 
  8:    // 从图像的各边裁剪掉100像素
  9:    CropCommand command = new CropCommand();
 10:    command.Rectangle = new LeadRect(
 11:       100,
 12:       100,
 13:       image.Width - 100,
 14:       image.Height - 100);
 15:    command.Run(image);
 16: 
 17:    // 将其保存至磁盘
 18:    codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
 19: 
 20:    // 清理
 21:    image.Dispose();
 22:    codecs.Dispose();

3. 其他的高级变换类 

类名

说明

以轴心点为中心,沿着弯曲的平面扭曲当前图像。这个中心点必须定义在图像内或区域内。若图像有一个区域,变换只应用于此区域。

这个类在及以上工具包中可用。

旋转和翻转图像数据,以获取想要的查看视角。

 

绕着一个圆柱扭曲图像。此命令只在及以上工具包中可用。

 

旋转特定的图像并拉直。

 

从顶端到底端或从左到右翻转RasterImage

 

使用振幅数组通过所画的波形剪切图像。此命令仅在及以上工具包中可用。

 

通过振幅数组和旋转角度中指定的波形,扭曲图像。此命令仅在及以上工具包中可用。

将图像包裹在一个以曲线塑造的3D平面上。此命令只在及以上工具包中可用。

原图:

LEADTOOLS使用教程:图像的几何变换

应用此效果后:

LEADTOOLS使用教程:图像的几何变换

将图像按着曲线塑造的3D平面的半径包裹。此命令只在及以上工具包中可用。

原始图像:

LEADTOOLS使用教程:图像的几何变换

应用此效果后:

LEADTOOLS使用教程:图像的几何变换

使图片看起来像出自一个印象派画家之手。此命令只在及以上工具包中可用。

将图像沿着Z轴放置在平行平面,并朝着中心点弯曲。此命令只在及以上工具包中可用。

原始图像:

LEADTOOLS使用教程:图像的几何变换

使用后的效果:

LEADTOOLS使用教程:图像的几何变换

将图像沿着Z轴放置在平行平面。此命令只在及以上工具包中可用。

原始图像:

LEADTOOLS使用教程:图像的几何变换

使用后的效果:

LEADTOOLS使用教程:图像的几何变换

 

将图像从矩形转换为极坐标,反之亦然。此命令只在及以上工具包中可用。

 

通过将图像向中心挤压或从中心向外扩展来弯曲图像。此命令只在及以上工具包中可用。

 

通过绕着中心点旋转像素模糊图像。此命令只在及以上工具包中可用。

 

使用从中心辐射的波形扭曲图像。此命令只在及以上工具包中可用。

 

在同心圆内扭曲图像。此命令只在及以上工具包中可用。

 

以指定的度数旋转图像。此命令只在及以上工具包中可用。

 

方法

通过改变旋转。

 

以平行四边形的方式移动图像的角。

 

绕着一个3D球形,扭曲图像。此命令只在及以上工具包中可用。

 

根据旋转角度旋转图像,以产生漩涡的模式。此命令只在及以上工具包中可用。

 

方法

可完成特定格式的无损转换。

沿着Z轴在隧道中放置图像。此命令只在及以上工具包中可用。

原始图像:

LEADTOOLS使用教程:图像的几何变换

使用后的效果:

LEADTOOLS使用教程:图像的几何变换

 

使用特定角度特定波形的两个垂直波扭曲图像。此命令只在及以上工具包中可用。

 

创建细线,以特定的角度引导它,作用于被影响的图像上。此命令只在及以上工具包中可用。

 

从特定中心点开始沿着半径线模糊图像。此命令只在及以上工具包中可用。

 

使用从特定中心放大的波形扭曲图像。此命令只在及以上工具包中可用。

4. 低级缩放方法

方法

使用方法将缓冲区调整为指定的新大小。

 

方法

为方法建立信息。

 

方法

清除方法中所有的数据变量和缓冲区。

 

 

转载来自于//blog.gcpowertools.com.cn/post/2014/09/12/geometric-transformations-by-leadtools.aspx


标签:多媒体图像处理

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
LEADTOOLS Imaging Pro Developer Toolkit

20多年的老牌图像处理控件,支持TWAIN扫描、200多种图像效果、150多种图像格式…

LEADTOOLS Document Suite Developer Toolkit

LEADTOOLS Document Imaging Suite SDK是LEADTOOLS SDK中各种特点的精选组合,这套强大的工具利用了LEAD行业领先的图像处理技术来智能地识别文档的特征,而根据文档的特征可以识别扫描的或传真的任何类型的表格图像。

LEADTOOLS Document Imaging Developer Toolkit

多语言的文档图像处理控件,支持光符识别处理、条形码扫描识别等。

LEADTOOLS Medical Developer Toolkit

LEADTOOLS Medical Imaging是一款医疗成像控件,包含了一些精心挑选的、经过优化的特性,可以满足医疗成像应用程序开发的特殊需要。

LEADTOOLS Medical Imaging Suite Developer Toolkit

LEADTOOLS Medical Imaging Suite帮您开发功能强大的PACS和医学成像应用程序

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP