Gaussian增强的方式拉伸图像拉伸算法有什么变化

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
ENVI遥感图像增强处理
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口iOS中拉伸图片的几种方式 - 简书
iOS中拉伸图片的几种方式
假如下面的一张图片,是用来做按钮的背景图片的,原始尺寸是(128 * 112)
按钮背景图片.png
我们通过代码将这张图片设置为按钮的背景图片,假如我们将创建好的按钮的宽高设置为:(W=200, H=50)代码如下:
ViewController.m
iOS图片拉伸总结
Created by Sunshine on 15/6/29.
Copyright (c) 2015年 YotrolZ. All rights reserved.
#import "ViewController.h"
@interface ViewController ()
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 创建一个按钮
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
// 设置按钮的frame
btn.frame = CGRectMake(100, 300, 200, 50);
// 加载图片
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
// 设置按钮的背景图片
[btn setBackgroundImage:image forState:UIControlStateNormal];
// 将按钮添加到控制器的view
[self.view addSubview:btn];
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
这是你发现运行的结果完全出乎你的意料(搓的无极限),如图:
运行效果图1.png
原因分析:是将原是尺寸为W=128 * H=112的图片拉伸成了W=200, H=50;解决方案:1.找美工MM重做一张较大的图片,这样的话就会出现软件包将来会变大,占用空间更大;如果我们要经常修改按钮的frame,你是想让MM杀你的节奏~~,显然不可行;2.苹果为我们提供了关于图片拉伸的API,我们可以直接利用代码实现,是不是很牛X;
利用苹果提供的API来拉伸图片(目前发现的有四种):一、 方式一(iOS5之前):如下图:设置topCapHeight、leftCapWidth、bottomCapHeight、lerightCapWidth,图中的黑色区域就是图片拉伸的范围,也就是说边上的不会被拉伸.通过下面的方法我们可以设置:
// 官方API说明// - stretchableImageWithLeftCapWidth:topCapHeight:(iOS 5.0)// Creates and returns a new image object with the specified cap values.
说明:这个方法只有2个参数,leftCapWidth代表左端盖宽度,topCapHeight代表上端盖高度。系统会自动计算出右端盖宽度rightCapWidth和底端盖高度bottomCapHeight,算法如下:
// 系统会自动计算rightCapWidth
rightCapWidth = image.width - leftCapWidth - 1;
// 系统会自动计算bottomCapHeight
bottomCapHeight = image.height - topCapHeight - 1
这样一来,其实我们图片的可拉伸范围只有1 * 1,所以再怎么拉伸都不会影响图片的外观;具体代码如下:
// 加载图片
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
// 设置左边端盖宽度
NSInteger leftCapWidth = image.size.width * 0.5;
// 设置上边端盖高度
NSInteger topCapHeight = image.size.height * 0.5;
UIImage *newImage = [image stretchableImageWithLeftCapWidth:leftCapWidth topCapHeight:topCapHeight];
// 设置按钮的背景图片
[btn setBackgroundImage:newImage forState:UIControlStateNormal];
运行效果图2.png
方式二:(iOS5)利用下面的方法:
// 官方API说明
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets NS_AVAILABLE_IOS(5_0);
// create a resizable version of this image. the interior is tiled when drawn.
typedef struct UIEdgeInsets {
CGFloat top, left, bottom,
// specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
说明:UIEdgeInsets中的CGFloat top, left, bottom, right就是用来设置上端盖、左端盖、下端盖、右端盖的尺寸(逆时针方向);
具体代码如下:
// 加载图片
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
// 设置端盖的值
CGFloat top = image.size.height * 0.5;
CGFloat left = image.size.width * 0.5;
CGFloat bottom = image.size.height * 0.5;
CGFloat right = image.size.width * 0.5;
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(top, left, bottom, right);
// 拉伸图片
UIImage *newImage = [image resizableImageWithCapInsets:edgeInsets];
// 设置按钮的背景图片
[btn setBackgroundImage:newImage forState:UIControlStateNormal];
运行效果图3.png
方式三:(iOS6)利用下面的方法:
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode NS_AVAILABLE_IOS(6_0);
// the interior is resized according to the resizingMode
说明:相比iOS5中的方法多了一个resizingMode参数
typedef NS_ENUM(NSInteger, UIImageResizingMode) {
UIImageResizingModeTile, // 平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
UIImageResizingModeStretch, // 拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
具体代码如下:
// 加载图片
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
// 设置端盖的值
CGFloat top = image.size.height * 0.5;
CGFloat left = image.size.width * 0.5;
CGFloat bottom = image.size.height * 0.5;
CGFloat right = image.size.width * 0.5;
// 设置端盖的值
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(top, left, bottom, right);
// 设置拉伸的模式
UIImageResizingMode mode = UIImageResizingModeS
// 拉伸图片
UIImage *newImage = [image resizableImageWithCapInsets:edgeInsets resizingMode:mode];
// 设置按钮的背景图片
[btn setBackgroundImage:newImage forState:UIControlStateNormal];
运行效果图4.png
方式4:(最简单的一种方式)
设置slicing属性.png
设置后.png
是不是So easy~~
运行效果5.png
备注:上面所有通过代码来拉伸图片的方法都是返回一个拉伸后的新图片.遥感实验四(2010)_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
遥感实验四(2010)
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩22页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢任务五图像增强;目录;1.空间域增强处理...............;1.1卷积滤波.................;2.辐射增强处理................;2.1交互式直方图拉伸.............;3.光谱增强处理................;3.1波段比的计算...............;3.2色彩空间变换..........
任务五 图像增强
1.空间域增强处理 ............................................................................................................................ 1
1.1卷积滤波 ............................................................................................................................. 1
2.辐射增强处理 ................................................................................................................................ 2
2.1交互式直方图拉伸 ............................................................................................................. 2
3.光谱增强处理 ................................................................................................................................ 4
3.1波段比的计算 ..................................................................................................................... 4
3.2色彩空间变换 ..................................................................................................................... 5
3.3NDVI计算 ........................................................................................................................... 6
4.傅里叶变换 .................................................................................................................................... 6
4.1快速傅里叶变换 ................................................................................................................. 6
4.2定义FFT滤波器 ................................................................................................................ 7
4.3反向FFT变换 .................................................................................................................... 8
5.波段组合........................................................................................................................................ 8
5.1RGB合成显示 .................................................................................................................... 8
图像增强的主要目的是提高图像的目视效果,以便处理结果图像比原图像更适合于特定的应用要求,方便人工目视解译、图像分类中的样本选取等。
ENVI图像增强的内容主要包括:
? 空间域增强处理
? 辐射增强处理
? 光谱增强处理
? 傅里叶变换
? 波段组合
1.空间域增强处理
空间域增强处理是通过直接改变图像中的单个像元及相邻像元的灰度值来增强图像。
1.1卷积滤波
卷积滤波是通过消除特定的空间频率来增强图像。它们的核心部分是卷积核,ENVI提供很多卷积核,包括高通滤波、低通滤波、拉普拉斯算子、方向滤波、高斯高通滤波、高斯低通滤波、中值滤波、Sobel、Roberts,还可以自定义卷积核。
使用数据:lena.jpg
具体操作:
通过尝试ENVI提供的各种图像增强算子,观察比较图像增强的效果。
(1)打开图像文件lena.jpg。
(2)在主菜单中,选择Filter?Convolutions and Morphology。
(3)在Convolutions and Morphology Tool中,选择Convolutions?滤波类型。
(4)不同的滤波类型对应不同的参数,主要包括三项参数:
? Kernel Size(卷积核的大小)
卷积核的大小,以奇数来表示,如3×3、5×5等,有些卷积核不能改变大小,包括Sobel和Roberts。
? Image Add Back(输入加回值)
将原始图像中的一部分“加回”到卷积滤波结果图像上,有助于保持图像的空间连续性。该方法常用于图像锐化。“加回”值是原始图像在结果输出图像中所占的百分比。
? Editable Kernel(编辑卷积核中各项的值)
在文本框中双击鼠标可以进行编辑,选择File?Save Kernel可以把卷积核保存为文件(.ker),选择File?Restore Kernel可以打开一个卷积核文件。
(5)卷积增强图像中的单个波段
a)选择Convolutions?High Pass,其他项按照默认设置,单击Quick Apply按钮,第一次点击此按钮会提示选择增强的波段,增强后的波段在Display中显示。如果要更改卷积增强波段,选择Options?Change Quick-Apply Input Band。
b)选择File?Save Quick Result to File,可以将增强结果保存
(6)卷积增强图像文件
a)单击Apply To File按钮,在Convolution Input File对话框中选择图像文件。
b)选择输出路径及文件名。
2.辐射增强处理
辐射增强处理是通过对单个像元的灰度值进行变换来增强处理,如直方图匹配、直方图拉伸、去条带噪声等。
2.1交互式直方图拉伸
使用数据:lena.jpg
将一个多光谱图像打开并在Display中显示。在主图像窗口中,选择Enhance?Interactive stretching,就可以打开交互式直方图拉伸操作对话框(图1)。
图1 交互式直方图拉伸操作对话框
在交互式直方图拉伸操作对话框中:
? 显示一个输入直方图和一个输出直方图,它们表明当前的输入数据以及分别应用的拉伸。
? 两条垂线(虚线)表明当前拉伸所用到的最小值和最大值,其值显示在Stretch标签的两个文本框中。
? 对于彩色图像来说,直方图的颜色与所选择的波段颜色一致(系统默认显示红色波段),可以用鼠标选择RGB波段。
? 在状态栏中列出拉伸类型和直方图来源,或者当前十字指针指定DN值和指定DN值的像元数、直方图及累计直方图。
在交互式直方图拉伸操作对话框中的菜单命令及其功能。
放大窗口(Zoom)、整个原始波段(Band)和感兴趣区(ROI)。
Default命令菜单包括一些默认拉伸方式以及直方图生成源,与主图像菜单中Enhance的默认拉伸一致。
交互式直方图拉伸的操作过程:
(1)在Display中加载图像,在主图像窗口中,选择Enhance?Interactive stretching,打开交互式直方图拉伸操作对话框。
(2)要浏览像元DN值和指定DN值的像元个数、百分比以及累计百分比,可以在直方图内按住鼠标左键并拖动随之产生的白色十字交叉指针,在状态栏中显示信息。
(3)在交互式直方图拉伸操作对话框中,选择Stretch_Type?拉伸方法。
不同拉伸方法操作和参数设置不一样,常用操作如下:
? Linear(线性拉伸)
(1)选择Stretch_Type?Linear
(2)选择Options?Auto Apply,打开自动应用功能
(3)设定拉伸范围,使用鼠标左键,移动输入直方图中的垂直线(白色虚线)到所需要的位置,或在“Stretch”文本框中输入所需要的DN值或一个数据百分比
? Piecewise Linear(分段线性拉伸)
(1)选择Stretch_Type?Piecewise Linear
(2)选择Options?Auto Apply,打开自动应用功能
(3)一个转换函数(初始伟一条白色直线)将被绘制在输入直方图中。在输入直方图的任何位置点击鼠标中键,为转换函数增加一个节点,绘制的线段将把端点和绘制的节点标记连接起来。
(4)要移动一个点的位置,在标记上按住鼠标左键,然后把它拖放到一个新位置。要删除
点,在标记上点击鼠标右键。也可以手动地键入输入和输出值,选择Options?Edit Piecewise Linear。
? Gaussian(高斯拉伸)
(1)选择Stretch_Type? Gaussian
(2)选择Options?Auto Apply,打开自动应用功能
(3)设定拉伸范围,使用鼠标左键,移动输入直方图中的垂直线(白色虚线)到所需要的位置,或在“Stretch”文本框中输入所需要的DN值或一个数据百分比
(4)选择Options? Set Gaussian Stdv,设置高斯标准差
(5)输出直方图用一条红色曲线显示被选择的Gaussian函数。被拉伸数据的分布呈白色,并叠加显示在红色Gaussian函数上
? Equalization(直方图均衡化拉伸)
(1)选择Stretch_Type? Equalization
(2)选择Options?Auto Apply,打开自动应用功能
(3)设定拉伸范围,使用鼠标左键,移动输入直方图中的垂直线(白色虚线)到所需要的位置,或在“Stretch”文本框中输入所需要的DN值或一个数据百分比
(4)根据拉伸DN值范围自动缩放数据,使每个直方图中的DN数相均衡。输出直方图用一条红色曲线显示均衡化函数,被拉伸数据的分布呈白色叠加显示(图2)。
图2 直方图均衡化
3.光谱增强处理
光谱增强处理是基于多光谱数据对波段进行变换达到图像增强处理,如主成分变换、独立成分变换、色彩空间变换、色彩拉伸等。
3.1波段比的计算
计算波段的比值可以增强波段之间的波谱差异,减少地形的影响。用一个波段除以另一个波段生成一幅能提供相对波段强度的图像,该图像增强了波段之间的波谱差异。计算波段
三亿文库包含各类专业文献、应用写作文书、中学教育、外语学习资料、71数字图像处理等内容。 
 如下图所示: 图 2-20 集料颗粒分析的特征参数 基于视觉助手的集料颗粒图像分析程序流程图如下: 图 2-22 程序流程 第三章 集料颗粒数字图像处理系统构建 在...  数字图像处理_最新_信息与通信_工程科技_专业资料。一、数字图像处理基础 1、图像采样 采样是指将空域上或时域上的图像(模拟图像)变换成离散采样点(像素)集合的一...  数字图像处理_数学_自然科学_专业资料。数字图像处理:图像工程的内涵(三个层次:图像处理、图像分析和图像理解及其关系) 根据抽象程度和研究方法等的不同,可分为三...  数字图像处理可以理解为两个方面的操作:一是___,如图像增强等; 二是从图像到非图像的一种表示,如图像测量等。3. 从图像到图像的处理 5. 数字图像处理包含很多...  数字图像处理之彩色图像的处理_数学_自然科学_专业资料。实验六一、实验目的 彩色图像的处理 1、 掌握 matlab 中 RGB 图像与索引图像、灰度级图像之间转换函数。 2...  数字图像处理_计算机软件及应用_IT/计算机_专业资料。1. 图像复原与图像增强的区别 图像复原:针对质量降低或者失真的图像,恢复图像原始的内容或者质量。 图像复原的过...  数字图像处理试卷及答案_研究生入学考试_高等教育_教育专区。一、填空题(每题 1 分,共 15 分) 1、列举数字图像处理的三个应用领域 医学 、天文学 、 军事 2...  数字图像处理计算题复习精华版_工学_高等教育_教育专区。30452 计算题复习一、 直方图均衡化(P68)对已知图像进行直方图均衡化修正。 例:表 1 为已知一幅总像素为...  南京工程学院通信工程学院 实 验 报 告 课程名称 数字图像处理 实验项目名称 图像的复原 实验学生班级 实验学生姓名 同组学生姓名 实验时间实验地点 实验成绩评定 ...君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
ENVI初步学习和影像增强处理
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 图像拉伸 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信