1灭点计算理论-computer science- an interdisciplinary approach
图3.5灭点与灭直线
灭点的属性决定了可以由此求解摄像机的内外参数,下面就这些属性进行介绍,
从而说明灭点与摄像机内外参数的关系【15】:
属性1:与同一平面(非成像平面)平行的直线投影得到的灭点共线。假设4三{S,)
是一组直线的集合,B三fv。,)是由彳中平行线的投影直线交点的集合,如果彳中的直
线都平行于同一平面Ⅱ.,则艿中的交点共线【13】。
属性2:在摄像机坐标系下,与空间三条两两正交直线形成的灭点相关的单位向量
也两两正交【13】。假设Q、R、S是空间中三条相互正交的直线,与它们对应的灭点在摄
像机坐标系下分别为屹兰(吃,%,厂)、%兰(%,YR,厂)、略兰(咯,Ys,f),其中厂为摄相机
焦距,若Z、所、露是咆、咏、珞对应的相关单位向量,则
f1.m=0 I%‰+yQYR+厂2=0
{z·嚣=0 j{而%+yQys+/2=0 (3.7)
【历嘶2 0 I%%+YsY五+f2=0
属性3:空间三条两两正交直线形成的灭点组成的三角形,其垂心即为相机光轴与
成像平面的交点(投影中心)【13】。假设Q、R、S及其对应灭点定义同属性2,,则AvQvRVs
的垂心C就是投影中心。
3.3灭点的计算
计算空间直线束在图像中投影的交点主要分为投影直线方程的确定和求解交点坐
标位置。本文中的投影直线是通过概率Hough变换检测得到,在检测并画出线段同时
也直接检测出了线段两个端点的端点坐标,于是投影直线方程便可以确定,下面主要是
灭点位置的确定。
3.3.1灭点计算理论
理想状态下灭点是平行线束透视投影汇聚于一点形成的,这样对于每个方向的灭
20
1研究的目的与意义-computer science- an interdisciplinary approach
1.1计算机视觉理论
计算机视觉‘1】[2】【31是指用计算机实现人的视觉功能——对客观世界的三维场景的感
知、识别和理解,其主要的研究目标是使计算机具有通过二维图像认知三维环境信息的
能力,根据图像来构造出对场景的描述。因此不仅需要使机器能感知三维环境中物体的
几何信息(形状、位置、姿态、运动等),而且能对它们进行描述、存储、识别与理解。
计算机视觉借助于几何信息、物理关系等构筑模型,从而用统计的方法来处理数据。
计算机视觉成为一门独立的学科,至少可以从Man"这一代人所做的奠基工作开始
追溯,Man"视觉理论【3】【4】在80年代成为计算机视觉研究领域中一个十分重要的理论框
架。这个理论框架将视觉系统研究划分为计算机理论层次、表达与算法层次和硬件层次
三部分。虽然此框架存在很多缺陷,但它是第一个较为完善的视觉系统框架,并且使计
算机视觉研究有了一个比较明确的体系。80年代中期,计算机视觉获得了迅速发展,
主动视觉理论框架、基于感知群的物体识别理论等新概念、新方法、新理论不断涌现。
到了90年代,计算机视觉在工业环境中得到广泛应用,同时基于多视几何的视觉理论
得到迅速发展。纵观计算机视觉发展的历史,由于计算机视觉具有的潜在应用十分广泛,
研究的问题有极富挑战性,所涉及的学科知识极其繁多,能够将图像处理、模式识别、
人工智能、数学、机器人、计算机图形学、摄影测量学等方面的研究成果融会进来,因
此它一直是计算机学科中一个热门领域。相信随着跨学科基础研究的不断深入和计算机
性能的迅速提高,计算机视觉必将得到更广泛的应用。
1.2单幅图像建模的研究意义及现状
1.2.1研究的目的与意义
自从Man-视觉理论框架建立后,三维重建技术得到了长足的发展,其中基于图像
的建模技术就是计算机视觉领域中热点研究的课题之一,它的目标就是直接从图像中提
取关键的立体信息,建造出具有图像真实感的虚拟三维结构【51。其中最为典型的是通过
同一目标对象的两幅或多幅图像,利用立体视觉的方法重建出三维结构,实现三维重建。
这种方法的精度取决于摄像机标定精度和图像特征点的立体匹配精度,而这两点都是计
算机视觉领域的经典难题,有时很小的参数误差都会对最后测量的结果产生很大的影
响。因此,基于多幅图像的方法在实际应用中有很多困难,有待进一步改进。而基于单
幅图像恢复三维立体信息与基于立体视觉的方法相比,其主要优点在于避免了计算机视
觉领域的图像匹配问题,使整个重建过程更简单、方便。
方框图中的缩写及其定义-研究生_数字信号处理:时域离散随机信号处理_11761429
表 6.1 方框图中的缩写及其定义
缩写 含义
NVIC 嵌套向量中断控制器
SYSTICK Timer 一个简易的周期定时器,用于提供时基,多为操作系统所使用
MPU 存储器保护单元(可选)
CM3BusMatrix 内部的 AHB互连
AHB to APB 把 AHB转换为 APB的总线桥
SW‐DP/SWJ‐DP 串行线/串行线 JTAG 调试端口(DP)。通过串行线调试协议或者是传统的
JTAG协议(专用于 SWJ‐DP),都可以用于实现与调试接口的连接
AHB‐AP AHB访问端口,它把串行线/SWJ 接口的命令转换成 AHB数据传送
ETM 嵌入式跟踪宏单元(可选组件),调试用。 用于处理指令跟踪
DWT 数据观察点及跟踪单元,调试用。这是一个处理数据观察点功能的模块
ITM 指令跟踪宏单元
TPIU 跟踪单元的接口单元。所有跟踪单元发出的调试信息都要先送给它,它再
101
“建立运行-qca6391 wifi6 11ax bt 5.1 2g & 5g rffe clpc pciem.2 2230 e key原理图
专用实践 2.1 设计产品或产品部件
开发产品或产品部件的设计。
产品设计包括两个可以重叠执行的阶段:概要设计和详细设计。概要设计建立产品的能力和体系结构,包括
产品划分、产品部件标识、系统状态和模式、部件间的主要接口、以及外部产品接口。详细设计完整地定义产品
部件的结构与能力。
关于开发体系结构需求的更多信息,参见需求开发过程域。
体系结构的定义是受需求开发过程开发的一组体系结构需求驱动的。这些需求表示了对产品成功十分关键的
质量和性能点。体系结构定义了结构的元素与协调的机制,它们要么直接满足需求,要么在产品设计细节建立时
支持满足需求。体系结构包括管理产品部件及其接口开发的标准与设计规则,以及帮助产品开发人员的指南。在
专用目标 1“选择产品部件解决方案”的专用实践中包含了有关将产品体系结构用作备选解决方案的基础的更多
信息。
体系结构设计师假定并开发产品的一个模型,以便对包含软/硬件的产品部件的需求分配作出判断。开发并
分析支持备选解决方案的多个体系结构,以确定在体系结构需求上下文中的优缺点。
运行概念和场景用来产生改进体系结构的用例和质量场景。在体系结构评价期间,它们也被用作一种评价体
系结构对其预定目的适用性的手段。在整个产品的设计过程中应定期地进行这种评价。
关于开发在体系结构评价中所用的运行方案和场景的信息,参见需求开发过程域的专用实践 3.1“建立运行
方案与场景”。
体系结构定义任务的示例,如:
建立有关划分的结构关系和划分内元素间的接口规则,以及划分之间的接口规则。
标识主要的内部接口和所有的外部接口。
标识产品部件和产品部件间的接口。
定义协调机制(如,对硬件与软件)。
建立基础设施能力和服务。
开发产品部件模板或类和框架。
建立设计规则和作出决策的权限。
定义进程/线程模型。
定义软件到硬件的物理部署。
标识主要的重用方法和来源。
在详细设计期间, 终确定产品体系结构的细节,完整定义产品部件,并完全特征化接口。产品部件设计可
以按某些质量或性能特性进行优化。设计者可进行评价以确定是对产品部件使用原有产品还是使用 COTS 产品。
随着设计的成熟,跟踪那些分配至较低层产品部件的需求,以确保这些需求得到满足。
关于跟踪产品部件需求的更多信息,参见需求管理过程域。
详细设计关注软件产品部件的开发。定义产品部件的内部结构,产生数据模式,开发算法,建立启发式方法
(heuristics),以提供满足分配需求的产品部件能力。
典型工作产品:
a) 产品体系结构。
b) 产品部件设计。
子实践:
实施验证-qca6391 wifi6 11ax bt 5.1 2g & 5g rffe clpc pciem.2 2230 e key原理图
专用实践 2.3 分析同行评审数据
分析有关同行评审的准备、实施和结果的数据。
关于获得和分析数据的更多信息,参见测量与分析过程域。
典型工作产品:
a) 同行评审数据。
b) 同行评审措施项。
子实践:
a) 记录有关同行评审的准备、实施和结果的数据。
典型的数据有产品名称、产品规模、同行评审组的构成、同行评审类型、每个评审员的准备时间、评
审会的时间长度、所发现的缺陷数、缺陷类型及其来源等等。可以采集被审工作产品的其它信息,如:
规模、开发阶段、所检查的运行模式和被评价的需求。
b) 保存这些数据,以备将来引用和分析。
c) 保护这些数据,以确保不会不适当地使用同行评审数据。
同行评审数据不当使用的例子,如评价人员的业绩和用数据进行归因。
d) 分析同行评审数据。
可以分析的同行评审数据的示例,如:
注入缺陷的阶段。
准备时间或比率与预期的时间或比率。
缺陷数量与预期的数量。
检测到的缺陷类型。
缺陷的原因。
缺陷解决方案的影响。
专用目标 3 验证所选的工作产品。
按规定的需求验证所选的工作产品。
利用合适的验证环境,按验证方法、规程和准则验证所选的工作产品和任何相关的维护、培训和支持服务。
在整个产品生存周期中都应实施验证活动。作为一种特定的验证方法,与同行评审有关的实践含于专用目标 2
中。
专用实践 3.1 实施验证
对选定的工作产品实施验证。
增量式地验证产品和工作产品有助于及早检测出问题并尽早排除缺陷。验证结果能节省相当可观的、与发现
建立过程绩效模型-qca6391 wifi6 11ax bt 5.1 2g & 5g rffe clpc pciem.2 2230 e key原理图
专用实践 1.5 建立过程绩效模型
建立和维护组织的标准过程集的过程绩效模型。
过程绩效模型用于根据其他过程、产品和服务的测量值估计或预测某个过程绩效测量项之值。这些过程绩效
模型通常使用遍及项目生存周期所采集的过程和产品测量值估计达到目标的进展情况,这些情况只有到项目生存
周期的后面阶段才能测量。
如下所述地使用过程绩效模型:
a) 组织利用它们来估计、分析和预测与组织的标准过程集中的过程有关的过程绩效。
b) 组织利用它们来评估过程改进活动的(潜在的)投资回报。
c) 项目利用它们来估计、分析和预测其已定义过程的过程绩效。
d) 项目利用它们来选择要使用的过程和子过程。
定义这些测量项和模型,对与业务价值有关的关键过程及产品特性提供洞察力及预测能力。
项目关注的领域(模型可能是有用的)之例,如:
进度和成本。
可靠性。
缺陷识别和排除率。
缺陷排除的有效性。
潜在缺陷的估计。
响应时间。
项目进展。
上述领域的组合。
过程绩效模型之例,如:
系统动态模型。
可靠性增长模型。
复杂性模型。
关于使用过程绩效模型的更多信息,参见定量项目管理过程域。
典型工作产品:
a) 过程绩效模型。
子实践:
a) 基于组织的标准过程集和组织的过程绩效基线,建立过程绩效模型。
b) 基于组织以往的结果和当前的要求,校准过程绩效模型。
c) 与利益相关方一起评审过程绩效模型,并达成协议。
功率单位简介-jt/t 794-2019道路运输车辆卫星定位系统车载终端技术要求
第一节 功率单位简介
第二节第二节 天线传播相关单天线传播相关单
位简介位简介
第三节 其他
~5>设定为-web vulnerability scanner v8
Cs 轮廓方式以外的方式下将 Cs 轴坐标建立请求信号 CSFIx<Gn274.4~5>设定为
'1'时,忽略 Cs 轴坐标建立。
CSFOx<F274.4∼7>
坐标建立
Cs 轮廓方式 ON 用
M 代码<F010∼013>
FIN<G004.3>
MF<F007.0>
M 代码
CSFIx<G274.4∼7>
CSPENA<F048.4>
ZRFx<F120.0∼7>
FSCSL<F044.1>
或者
FCSSx<F274.0∼3>
CON<G027.7>
或者
CONSx<G274.0∼3>
误动作防止功能-web vulnerability scanner v8
2.11 误动作防止功能
概要
该功能监视 CNC 的内部状态在允许范围内。在检测出因硬件的劣化或噪声等的
影响引起的非法状态时,通过发出报警来停机,防止误动作。
解释
下面说明各功能的详情。
• 伺服电机的最大速度检测
确认没有超过参数(No.12255)的最大速度,在已经超过的情况下发出报警
(DS0004)和报警(PW0006)而停止。参数的设定值为 0 的情况下,确认没有超过最
大速度(IS-B 时伟 999000)。
• 伺服电机的最大加速度检测
确认没有超过参数(No.12256)的最大加速度,在已经超过的情况下发出报警
(DS0005)和报警(PW0006)而停止。参数的设定值为 0 时,不予确认。
• 主轴电机的最高转速检测
确认没有超过主轴电机的最高转速,在已经超过的情况下发出报警(IE0007)和报
警(PW0006)而输出 S0。参数与各主轴的最高转速共同。
·末端存储行程检测
除了通常的存储行程检测外,在输出脉冲之前进行存储行程检测。超过时,发生
报警(IE0001~IE0006)中的其中一个和报警(PW0006),停止运动。参数与通常的
存储行程检测的参数共同。
·NC 指令解析的执行监视
在 NC 指令的解析中监视执行计数器和参照区域中没有非法。检测出非法时,发
生报警(DS0006~DS0013)中的其中一个和报警(PW0006),停止运动。
·插补后加/减速的执行监视
在直线型/铃型的插补后加/减速执行中监视执行计数器中没有非法。检测出非法
时,发生报警(IE0008)和报警(PW0006),停止运动。
方式选择-web vulnerability scanner v8
2.6 方式选择
概要
方式选择信号是由 MD1, MD2, MD4 这 3 位构成的代码信号。通过这些信号的组
合,可以选择 5 种方式:存储器编辑(EDIT)、存储器运行(MEM)、手动数
据输入(MDI)、手控手轮进给/增量进给(HANDLE/INC)、JOG 进给(JOG)。
此外,通过组合存储器运行(MEM)和 DNCI 信号,DNC 运行方式即可通过 JOG
进给(JOG)和 ZRN 信号来选择手动参考点返回方式。
可以通过操作方式确认信号,向外部通知当前所选的操作方式。
信号
方式选择用信号
按照表 2.6 (a),通过设置如下的方式选择用信号来选择方式。
方式选择信号 MD1,MD2,MD4<Gn043.0~.2>
DNC 运行选择信号 DNCI<Gn043.5>
手动参考点返回选择信号 ZRN<Gn043.7>
方式确认用信号
按照表 2.6 (a)读出方式确认信号,确认当前的方式。
增量进给选择确认信号 MINC<Fn003.0>
手控手轮进给选择确认信号 MH<Fn003.1>
手动连续进给选择确认信号 MJ<Fn003.2>
手动数据输入选择确认信号 MMDI<Fn003.3>
DNC 运行选择确认信号 MRMT<Fn003.4>
存储器运行选择确认信号 MMEM<Fn003.5>
程序编辑选择确认信号 MEDT<Fn003.6>
μs/指令-problem-solving-with-algorithms-and-data-structure-using-python 中文版
4.5 性能规格
1使
用
产
品
之
前
2特
点
·
各
部
位
名
称
3产
品
的
介
绍
4规
格
·
外
形
尺
寸
·
端
子
排
列
5版
本
信
息
及
外
围
设
备
的
连
接
对
应
情
况
6系
统
构
成
的
检
查
7输
入
输
出
编
号
/单
元
号
的
分
配
8安
装
到
控
制
盘
9接
线
的
准
备
工
作
及
电
源
接
线
的
方
法
10输
入
接
线
的
方
法
4.5 性能规格
说明了基本单元的性能规格。
项目 性能
运算控制方式 循环扫描存储程序的方式,有中断功能
输入输出控制方式
批次处理方式(执行END指令时),
有输入输出刷新指令,脉冲捕捉功能
程序语言 继电器符号方式+步进梯形图方式(可以用SFC表现)
程序
存储器
内置存储器容量/型号
32000步/EEPROM内存
允许写入次数:2万次
存储器盒
(选件)
32000步/EEPROM内存(有程序传送功能)
允许写入次数:1万次
RUN中写入功能 有(可编程控制器运行过程中可以更改程序)
关键字功能 有关键字保护功能/自定义关键字功能
实时
时钟
时钟功能*1
内置
1980~2079年(有闰年修正) 阳历2位数/4位数可切换
月误差±45秒/25℃
指令的种类
基本指令
顺控指令29个
步进梯形图指令2个
应用指令 121种
运算处理速度
基本指令
标准模式时*3:0.21μs/指令
扩展模式时*3:0.42μs/指令
应用指令
标准模式时*3:0.5μs/指令
扩展模式时*3:1.2μs/指令
输入输出点数
①扩展并用时的输入点数 128点以下
③合计点数 ①+②≦③ 128点以下
②扩展并用时的输出点数 128点以下
④远程I/O点数
(CC-Link)
128点以下 -
上述③+④的合计点数 256点以下
输入输出继电器
输入继电器 X000~X177
软元件编号为8进制数。
输出继电器 Y000~Y177
辅助继电器
一般用 M0~M383 384点 -
EEPROM保持 M384~M1535 1152点 -
一般用*2 M1536~M7679 6144点 -
特殊用 M8000~M8511 512点 -
状态
初始状态用
(EEPROM保持)
S0~S9 10点 -
EEPROM保持 S10~S999 990点 -
一般用*2 S1000~S4095 3096点 -
定时器
(ON延迟)
100ms T0~T199 200点 0.1~3,276.7秒
10ms T200~T245 46点 0.01 ~327.67秒
1ms 累积型
(EEPROM保持)
T246~T249 4点 0.001~32.767秒
100ms 累积型
(EEPROM保持)
T250~T255 6点 0.1~3,276.7秒
1ms T256~T319 64点 0.001~32.767秒
模拟量旋钮
2个内置模拟量旋钮可以作为模拟量计时器使用
VR1:D8030
VR2:D8031
其它外围设备的对应情况-problem-solving-with-algorithms-and-data-structure-using-python 中文版
5.6 其它外围设备的对应情况
1使
用
产
品
之
前
2特
点
·
各
部
位
名
称
3产
品
的
介
绍
4规
格
·
外
形
尺
寸
·
端
子
排
列
5版
本
信
息
及
外
围
设
备
的
连
接
对
应
情
况
6系
统
构
成
的
检
查
7输
入
输
出
编
号
/单
元
号
的
分
配
8安
装
到
控
制
盘
9接
线
的
准
备
工
作
及
电
源
接
线
的
方
法
10输
入
接
线
的
方
法
5.6 其它外围设备的对应情况
5.6.1 其它外围设备的对应情况
*1. F940GOT、ET-940不满Ver.1.10时,不支持GX Developer的透明(2端口)功能。
产品名称 对应情况 备注
GOT1000系列 对应
GT Designer2 Ver.2.85P以后的版本对应FX3G可编程控制器。
GT15、GT11的场合:
基本功能OS[03.14.**]以上
通信驱动MELSEC-FX[03.14.**]以上
选项功能OS MELSEC-FX 列表编辑[03.14.**]以上
GT10的场合:
基本功能OS[01.10.**]以上
通信驱动MELSEC-FX[01.06.**]以上
使用尚未对应版本的基本功能OS、通信驱动、选项功能OS连接时,会受到以下
限制。
限制内容
• 限制在FX1N · FX1NC可编程控制器 · 软元件范围 · 程序容量等功能范围
内。
• FX列表编辑功能不能使用。要使用FX列表编辑功能时,请将版本升级为对
应FX3G可编程控制器的基本功能OS、通信驱动、选项功能OS。
关于其他对应项目,请在GOT手册中确认。
F940WGOT 尚未对应 连接时会受到以下限制。
限制内容
• 限制在FX1N · FX1NC可编程控制器 · 软元件范围 · 程序容量等功能范围
内。
→ 对应机型的情况请参考GOT的手册
利用2个接口功能*1进行连接时,请参考5.5节。
F940GOT, F940手提GOT 尚未对应
F930GOT(-K) 尚未对应
F920GOT(-K) 尚未对应
ET-940 尚未对应
FX-10DM(-SET0) 尚未对应
连接时会受到以下限制。
限制内容
限制在FX1N · FX1NC可编程控制器· 软元件范围· 程序容量等功能范围内。
→ 关于支持的机型、软元件范围,
请参考FX-10DM用户手册
(手册编号:JY992D83001)
FX-10DU 尚未对应
连接时会受到以下限制。
限制内容
限制在产品版本所对应的 高机型(FX1N或FX2N)支持的软元件范围、功能范围
内。
→ 关于支持的机型、软元件范围,
请参考FX-10DU操作手册
(手册编号:JY992D34701)
µF陶瓷-rtklib软件的使用讲解
合噪声的影响。在靠近器件VCC引脚的位置安装0.1µF陶瓷
旁路电容,旁路至GND,将电源噪声的影响降至最低。
输入放大器为低噪声放大器,该放大器可以对输入进行高
精度检测。确保热电偶和连接线远离电气噪声源。
热考虑
有些应用中,自身发热会影响器件的温度测量精度。温度
误差的数量级取决于器件封装的导热特性、安装工艺及气
流影响。采用大面积地可改善器件的温度测量精度。
也可通过以下预防措施改善热电偶系统的精度:
• 确保测量区域的热量不扩散的情况下采用尽可能粗的
导线。
• 如果必须使用细导线,仅在测量区域使用,在没有温
度梯度的区域使用延长线。
• 避免机械应力和振动,这会对导线造成应力。
• 热电偶引线较长时,使用双绞线对延长线。
• 避免陡峭的温度梯度。
• 尽量使用在其温度额定值以内的热电偶引线。
• 恶劣环境下采用适当的屏蔽材料,保护热电偶引线。
• 仅在低温及小梯度区域使用延长线。
• 保存事件记录,并连续记录热电偶的电阻。
类型转换-dassidirect server
B.1.8 类型转换
HLSL提供了非常灵活的类型转换机制。HLSL中的类型转换语法与 C语言相同。例如,要
将一个浮点数转换为一些矩阵,可以这样做:
float f = 5.0f;
float4x4 m = (float4x4)f; // copy f into each entry of m.
在标量-矩阵转换时,标量会被赋值给矩阵中的每个元素。
考虑下面的例子:
float3 n = float3(...);
float3 v = 2.0f*n - 1.0f;
2.0f*n是一个标准的标量-向量乘法,这一点不难理解。而要使该向量方程有效,标量 1.0f
必须被扩展为向量(1.0f, 1.0f, 1.0f)。所以,上面的语句相当于:
float3 v = 2.0f*n − float3(1.0f, 1.0f, 1.0f);
在本书的例子中,你仅从语法就能推断出类型转换的含义。要了解所有的类型转换规则,请
在 SDK文档索引中搜索“Casting and Conversion”。
把纹理作为材质-dassidirect server
7.6 把纹理作为材质
在第 6 章“光照”中,我们为每个顶点指定了漫反射材质和高光材质,并将环境光材质和
漫反射材质设为相同的值。现在有了纹理映射,我们将放弃原先的顶点材质,考虑使用纹理
贴图来描述物体的表面颜色。像素材质比顶点材质的分辨率更好,因为会有许多纹理元素映
射到三角形上。也就是,每个像素都会得到一个插值后的纹理坐标 ( , );这些纹理坐标可
以用于纹理采样,为每个像素估算出一个表面颜色。
按照这一方案,我们需要两个纹理贴图:一个漫反射贴图和一个高光贴图。漫反射贴图用于
指定每个像素反射和吸收的漫反射光的数量。同样,高光贴图用于指定每个像素反射和吸收
的高光的数量。与上一章相同,我们将环境材质和漫反射材质设为相同的值;省去一个额外
的环境贴图。图 7.9 说明了使用高光贴图的好处——我们可以非常精细地控制三角形表面
上的光滑区域和粗糙区域。
消息处理函数-dassidirect server
A.3.6 消息处理函数
我们前面提到,消息处理函数(window procedure,直译为窗口过程)用于对窗口收到
的消息做出响应,执行与当前消息对应的程序指令。在本例中,我们的消息处理函数为
WndProc,其原型如下:
LRESULT CALLBACK
WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
该函数返回一个 LRESULT(实际上是一个整数)值,表明函数的调用结果是成功还是失败。
CALLBACK 标识符说明该函数是一个回调函数(callback function),Windows 将在
应用程序的代码空间之外调用这个函数。你可以从本例的源代码中看到,我们从未直接调用
过这个消息处理函数——当窗口需要处理一个消息时,Windows会替我们调用这个函数。
在消息处理函数的签名(signature)中包含 4个参数:
对平面进行变换-dassidirect server
C.4.4 平面的规范化
有时我们需要对一个已知平面的法线向量进行规范化。我们首先想到的是应该像规范化普通
向量那样,直接规范化法线向量。但是别忘了分量 的值依赖于法线向量: = − ∙ 。
所以,当我们规范化法线向量时,必须重新计算 。实现方法如下:
= ‖ ‖ = − ‖ ‖ ∙
从而,我们可用如下公式来规范化平面 ( , ) 的法线向量:
1‖ ‖ ( , ) = ‖ ‖ , ‖ ‖
我们可以使用如下 D3DX函数来规范化平面的法线向量:
D3DXPLANE *D3DXPlaneNormalize(
D3DXPLANE *pOut, // Resulting normalized plane.
CONST D3DXPLANE *pP // Input plane.
);
C.4.5 对平面进行变换
[Lengyel02]指出:我们可以把一个平面 ( , ) 视为 4D向量,将它与目标变换矩阵的逆
转置矩阵相乘得到变换后的平面。注意,平面的法线向量必须为规范化向量。
我们使用如下 D3DX函数实现这一工作:
在切线空间和物体空间之间变换-dassidirect server
12.4 顶点正切空间
在上一节中,我们为三角形推导了一个正切空间。不过,当进行法线贴图映射时,我们希望
以三角形的形式描述该正切空间,因为正切空间在三角形平面上是一个常量。所以,我们在
每个顶点上指定切线向量,就像是使用顶点法线来模拟一个光滑表面时所做的事情一样:
1. 对于网格中的任意一个顶点 ,它的切线向量 等于共享该顶点的每个三角形的切线
向量的平均值。
2. 对于网格中的任意一个顶点 ,它的副切线向量 等于共享该顶点的每个三角形的副
切线向量的平均值。
在计算平均值之后,我们通常需要对 TBN基进行正交化处理,使这 3个向量彼此垂直并为
单位向量。这一工作通常使用 Gram-Schmidt算法来完成。读者可以在网上找到能为任意
三 角 形 网 格 生 成 顶 点 切 线 空 间 的 代 码 :
http://www.terathon.com/code/tangent.php。
这里,我们不直接在内存中存储副切线向量 。而是,在需要 时计算 = × ,其中 是普遍的平均值顶点法线。此时,我们的顶点结构体为:
struct Vertex
{
D3DXVECTOR3 pos;
D3DXVECTOR3 tangent;
D3DXVECTOR3 normal;
D3DXVECTOR2 texC;
};
在本章的法线贴图演示程序中,我们仍然使用 Quad、Box、Cylinder、Sphere 类。只
是我们要对这些类做一些修改,在每个顶点中添加了一个切线向量。对于 Quad 和 Box 来
说,我们可以直接在每个顶点中指定切线向量 的物体空间坐标(参见图 12.5)。对于
Cylinder 和 Sphere 来说,我们可以通过定义向量值函数 ( , ) 和计算 ∂ / ∂ 来求
出每个顶点上的切线向量 ,其中参数 、 为纹理坐标。
12.5 在切线空间和物体空间之间变换
现在,我们在网格的每个顶点上都有一个正交 TBN基,而且还有相对于网格物体空间的 TBN
向量坐标。所以,我们现在可以得到一个相对于物体空间坐标系的 TBN 矩阵,通过该矩阵
我们可以将坐标从切线空间变换到物体空间:
粒子运动-dassidirect server
17.2 粒子运动
我们希望粒子按照自然逼真的方式运动。为简单起见,在本书中,我们将粒子的净加速度
(net acceleration)限定为一个常量;例如,由重力产生的加速度。(我们也可以为由
其他作用力产生的加速度指定大概的近似值,比如风力。)另外,我们的粒子不做任何碰撞
检测。
设 ( ) 为一个粒子沿着一条曲线运动(到时间 时)的位置。当时间等于 时,粒子的
瞬时速度(instantaneous velocity)为:
( ) = ( )
当时间等于 时,粒子的瞬时加速度(instantaneous acceleration)为:
( ) = ( ) = ( )
回顾以下微积分知识:
n 如果函数 ( ) 为函数 ( ) 的任意一个偏导数,则 ( ) 的导数为 ( );也就是
F’(t) = f(t)。
n 如果函数 ( ) 为函数 ( ) 的任意一个偏导数, 为任意常量,则 ( ) + 仍为 ( )
的偏导数。而且,对于 ( ) 的每个偏导数来说都有 ( ) + 。
n 我们使用积分符号 ∫ 表示 ( ) 的任意偏导数,记作 ∫ ( ) = ( ) + 。
由速度和加速度的定义可知,速度函数是加速度函数的一个偏导数,而位置函数是速度函数
的一个偏导数。也就是:
( ) = ∫ ( ) ( ) = ∫ ( )
现在,假设加速度为常量(即,它不随时间而变化)。当时间 = 0 时,粒子的初始速度 (0) = 、粒子的初始位置 (0) = 。然后把常量加速度代入速度函数:
( ) = ∫ ( ) = +
我们用初始速度来求解常量 :
(0) = 0 ∙ + = =
则速度函数为:
( ) = +
过程的进口与出口-单片机原理及应用(张毅刚)
10.4 过程的进口与出口
在名字空间内,可以用命令 namespace export将命令出口,然后在名字空间之外就可以
用 namespace import命令将特定名字空间的命令进口。从名字空间进口命令后,该命令就
作为本级名字空间的一个命令而存在,可不用使用::限定符而直接使用进口命令。
例 10-5 过程的进口与出口的简单例子
% namespace eval Counter {
;#将过程 dump输出
namespace export dump
proc dump {} {
puts "I'm Counter's dump"
}
proc test {} {
puts "I'm Counter's test"
}
variable procList [info proc] ;#保存本名字空间中的过程列表
}
% namespace import Counter::dump ;#进口命令
% namespace import Counter::dump ;#命令已经存在,不能重复进口
=> can't import command "dump": already exists
% namespace import -force Counter::dump ;#强制输入重复名称的过程,本名字
;#空间原来的过程被覆盖
% namespace import Counter::test
% test ;#test并没有被输出!
=> invalid command name "test"
% Counter::test ;#使用::来调用 test
=> I'm Counter's test
% dump ;#dump则可直接调用
=> I'm Counter's dump
% set index [lsearch [info proc] dump]
=> 5 ;#dump已经为全局过程
% puts $Counter::procList ;#在 Counter内能“ 看到” 的过程
=> test dump
% namespace forget dump ;#取消命令进口
% set index [lsearch [info command] dump]
=> -1 ;#进口命令已经被取消
说明:
1. 只有过程才能用这两个命令,对变量无效。
list命令-单片机原理及应用(张毅刚)
5.1 列表命令集
表 5-1 列表相关命令
命令 说明
list arg1 arg2 ... 创建一个列表
lindex list index 返回列表 list中的第 index个元素(element)值
llength list 计算列表 list元素个数
lrange list index1 index2 返回指定范围内(从 index1到 index2)的元素
lappend list arg1 arg2 ... 将新元素追加到原来列表 list后组成新的列表
linsert list index arg1 arg2 ... 将新元素插入到 list中位于 index元素之前的位置
上
lreplace list index1 index2 arg1
arg2 ...
替换指定范围的元素
lsearch ?mode? list value 根据匹配模式mode,查找 list中与 value匹配的
元素位置索引。mode一般为-exact、-glob和-
regexp.默认为-glob。找不到返回-1。
lsort ?switches? list 根据 开关选项对列表进行排序
concat list1 list2 ... 连接多个列表内容成一个列表
join list joinChars 以 joinChars为分隔符将列表中的元素合并在一起
split string splitChars 以 splitChars中的字符作为分隔符将字符串分解为
列表元素。
foreach var list {proc body} 遍历列表各项,逐次将各元素值存入 var中并执行
proc body。相当于一个循环控制语句。
foreach命令将在控制结构一章介绍。
5.2 list命令
list 命令用来创建列表。
一个列表可以包含子列表,即列表可以嵌套。
例 5-1 使用 list命令创建列表
% set l1 [list Sun Mon Tues]
concat命令-单片机原理及应用(张毅刚)
5.3 concat命令
concat命令以空格为分隔符将多个列表拼装在一起形成新的列表。它和双引号的作用比较
相似。
list命令和 concat命令都可以完成列表合并功能。list和 lappend命令保留每个列表的结
构,将每个列表作为一个整体生成新列表的元素来完成。而 concat命令则要先把各个列表的
最外层列表结构去掉,将其中的所有元素取出来作为新列表的元素来完成合并,即新列表的每
个元素也是合并前列表的元素。这个区别在后面动态建立 Tcl命令的时候显得尤为重要。
例 5-2 concat命令的例子
%set x {1 2}
=> 1 2
% set y "$x 3 " ;#$x被替换后,作为列表结构的花括号被去掉,
;#元素被提出来和 3一起作为新列表的元素
=> 1 2 3
% set y "$x {3}"
=> 1 2 {3}
% set y [concat $x 3] ;#结果同上面的双引号
=> 1 2 3
% set y [concat $x {3}]
字符串复制-android基于hover组件实现监控鼠标移动事件的方法
6.5 字符串复制
字符串复制指的是将一个字符串的全部或其中的若干字符,写入到另一个字符串中。本
节将讲述字符串复制的相关操作,可以进行字符串复制的函数主要有 bcopy, memccpy, strcpy,
strncpy 等。
6.5.1 字符串复制函数 bcopy
函数 bcopy 的作用是将一个字符串的前 n 个字符复制到另一个字符串中,使用方法如下
所示。
void bcopy ( const void *src,void *dest ,int n);
函数的参数 src 表示需要复制字符的字符串,dest 表示复制到的字符串,n 表示需要在字
符串中复制的字符数目。函数会改变字符串 dest 的值,没有返回值。下面是这个函数的使用
实例。
#include <stdio.h>
#include <string.h> /*包含 string.h头文件。*/
main()
{
char a[20]="asdfgh"; /*定义两个字符串并且赋值。*/
char b[20]="ijklmn";
printf("1 :%s \n %s\n",a,b); /*输出原有的字符串。*/
bcopy(a,b,4); /*第一个字符串的前 4个字符复制到
第二个字符串中。*/
printf("2 :%s \n %s\n",a,b); /*输出复制以后的结果。*/
}
输入下面的命令编译这段代码。
gcc 10.17.c
然后输入下面的命令,对编译的程序添加可执行权限。
chmod +x a.out
输入下面的命令运行这个程序。
./a.out
程序的运行结果如下所示。函数 bcopy 会把第一个字符串中的前 4 个字母复制到第二个
字符串的前 4 个字母。第二个字符串中的前 4 个字母将会被替换。
1 :asdfgh
ijklmn
2 :asdfgh
asdfmn
文件的打开与关闭-android基于hover组件实现监控鼠标移动事件的方法
9.5 文件的打开与关闭
文件的打开指的是从磁盘中找到一个文件,返回一个整型的打开文件顺序编号。打开的
文件处于可读、可写状态。文件的关闭指的是释放打开的文件,使文件处于不可读写的状态。
9.5.1 打开文件函数 open
函数 open 的作用是打开一个文件,使文件处于可读写的状态。这个函数的使用方法如下
所示。
int open(char *pathname, int flags);
int open(char *pathname,int flags, mode_t mode);
常用交流电压采样电路及其特点-猴博士数字电路笔记
2.2 常用交流电压采样电路及其特点
2.2.1 常用交流电压采样电路 1
为了实现对STATCOM的控制,必须要检测三相瞬时电压Ua、Ub和Uc。如
下图 2-7 为电路一相电压采样电路:
a. 电压转换电路
图 2-7 交流电压采样电路图
电压转换电路通过霍尔电压传感器CHV-50P实现。CHV-50P型电压传感器
输出端与原边电路是电隔离的,可测量直流、交流和脉动电压或小电流。磁补
偿式测量,过载能力强,性能稳定可靠,易于安装,用于电压测量时,传感器
通过与模块原边电路串联的电阻RRu1与被测量电路并联连接,输出电流正比于原
边电压。上图电压转换电路为a为单相电压转换电路,这里对电阻Ru1R 和电阻RRu2
的选择作一些说明。
由于CHV-50P的输入额定电流In1为 10mA,本电路检测的电压是 220V的交
流电压,则
u1
n1
U 220V
R = = =2.2KΩ
I 10mA
(2.1)
电阻RR
nP UI= =
u1消耗的功率P1为
错误!未找到引用源。 1 1 220 10 2.2mA W× =
(2.2)
因此电阻RRu1选择阻值为 2.2 kΩ,功率为 5W的大功率电阻。另外为了抑制共模
5
自适应滤波器-tc itk二次开发
(2) 使用其他类型的数据
要从其他数据类型中计算地面距离图像:选择Radar > Slant to Ground Range > Generic。当出现标准的
ENVI输入文件对话框时,选择所需的输入文件,若需要,选取任意空间和/或波谱子集。点击“OK”,将
出现Slant to Ground Range Parameters对话框。键入仪器高度、近距离、斜距像元大小,以及需要输出的像
元大小。在“Near Range”按钮菜单中,选择在图像中近距离的位置:“Top”、“Bottom”、“Left”或“Right”。
注意:关于重采样方法的详细介绍,请参阅第439页的“纠正和重采样”。
选择输出到“Memory”或“File”。点击“OK”,开始处理。
13.6 生成入射角图像
使用 Incidence Angle Image选项可以由 AIRSAR (与 TOPSAR数据集相关的 AIRSAR数据除外)、
RADARSAT、SIR-C和其他类型的雷达数据生成入射角图像。假定地形平坦,可以根据近距离角(near range
angle) 和远距离角(far range angle) 对入射角进行计算。
‧ 使用 AIRSAR、RADARSAT与 SIR-C数据
要由AIRSAR (与TOPSAR数据集相关的AIRSAR数据除外)、RADARSAT或SIR-C生成一幅入射角
图像:
选择Radar > Incidence Angle Image > AIRSAR, RADARSAT或SIR-C。选择所需的输入文件,点击
“OK”。需要的信息将自动从头文件中读取,如果没有找到所有需要的参数,在相应的文本框中键入丢失
的参数值。当出现Incidence Angle Parameters对话框时,选择要输出的入射角(单位:弧度或度)。
选择输出到“File”或“Memory”。点击“OK”,开始处理。
(1) 使用其他类型的数据
要运用其它数据类型生成入射角图像:选择Radar > Incidence Angle Image > Generic。当出现Incidence
Angle Information对话框时,在相应的文本框中,键入输出的样本数和行数,以及近距离和远距离角(单
位:度);在“Near Range”按钮菜单中,选择在图像中近距离的位置:“Top”、“Bottom”、“Left”或“Right”。
点击“OK”;当出现Incidence Angle Parameters对话框时,选择要输出的入射角(单位:弧度或度)。
选择输出到“Memory”或“File”。
13.7 自适应滤波器
ENVI包括几个自适应滤波器,它们可以用于SAR处理。这些滤波器包括:Lee、增强型Lee 、Frost、
增强型Frost 、Gamma、Kuan、用于减少图像斑点的局部Sigma滤波器,以及消除坏像元的比特误差滤波
器。
波谱“沙漏”向导-tc itk二次开发
9.8 波谱“沙漏”向导
按照新的波谱“沙漏”向导工具的指导,逐步完成 ENVI的“沙漏”处理流程(参见图 9-13),从而
在多光谱和高光谱数据中发现和绘制端元。该向导是ENVI的特性工具之一,它可以为屏幕上的每个功能
显示详细介绍和有用信息。
图 9-13:ENVI中的高光谱数据“沙漏”处理过程
使用“沙漏”处理流程可以进行如下操作,包括:使用高光谱数据的波谱特性来发现数据集中波谱最
纯净的像元(端元),并绘制它们的位置和子像元权重;辅助选取初始输入数据(反射和辐射数据)的子
集;在n维可视化器中对数据进行浏览,并将最纯净的像元聚集到端元中;使用自己的端元;绘制端元的
分布和权重;用ENVI的波谱分析工具进行端元识别;浏览制图结果。
该向导的每一步都执行一个单独的ENVI功能,可以把它们分开进行单独操作。在该向导中用到的每
一步功能的详细介绍都能在相应的标题中找到(例如:“正象 MNF变换”、“n维可视化器”等等)。每一
步所执行功能的名称将显示在对话面板的顶部,其相应结果将被输入到可用波段列表中,并使用标准ENVI
程序进行显示。在操作流程中将显示不同的图表窗口用于结果的浏览。
(11) 流程向导
向导对于图9-14中列出的每一步处理都有相应的操作面板,我们将在第408页的“波谱“沙漏”向导
在波谱运算中使用IDL程序和函数-tc itk二次开发
(3) 在波谱运算中使用IDL程序和函数
由于ENVI提供了到IDL功能接口(除非正使用 ENVI-RT),可以使用内置的IDL功能、IDL用户函
数,或编写自己的波谱运算表达式,从而进行自定义的操作。对这些函数的唯一要求就是他们可以接受一
个或多个矢量(波谱)作为输入,并且能输出矢量结果。这些函数需要存储在IDL路径列表中,以便它们
能自动进行编译。
注意:也可以按照第63页“编辑IDL代码”中所描述的方法编译所需函数。
下面的简单示例说明了自定义波谱运算函数的生成和应用(详细介绍,请参阅《ENVI Program mer’s
Guide》中的“Band Math Basics”)。
‧ 波谱运算用户函数例 1
下面的示例是一个简单的用户自定义波谱运算函数,它可以进行两个波谱的求和运算。下面的程序文
本可以输入到一个文本编辑器中,以文件名user_sm1.pro:进行保存。
举例:
FUNCTION user_sm1, s1, s2
RETURN, s1+s2
END
要在“Enter an expression”文本框中调用该函数,用语法:
user_sm1(s1,s2)
‧ 波谱运算用户函数例 2
下面的示例是一个简单的用户自定义波谱运算函数,它可以进行6个波谱的求均值运算。下面的程序
文本可以输入到一个文本编辑器中,以文件名user_sm2.pro:进行保存。
举例:
FUNCTION user_sm2, s1, s2, s3, s4, s5, s6
average = (s1+s2+s3+s4+s5+s6)/6.
RETURN, average
END
AVHRR数据地理坐标定位-tc itk二次开发
(2) AVHRR数据地理坐标定位
使用Georeference Data选项可以根据来自原始AVHRR数据的信息对AVHRR数据、定标结果、海面
温度图像进行地理坐标定位。每一个数据行有51个经纬度值可以用作地理坐标定位。
注意:一旦 AVHRR原始数据被地理坐标定位,用于定标和海面温度计算的头信息将不包含在新的 ENVI
头文件中。因此应该在对AVHRR数据进行定标和海面温度计算之后再进行地理坐标定位(参见第288页
的“AVHRR数据定标”和第288页的“海面温度计算”)。
提示:我们建议使用更精确的技术一一(AVHRR)Build Gemetry File和Georeference from Input Geometry
工具(参见第461页的“根据输入的几何文件进行地理坐标定位”),来代替AVHRR Georeference Data。
选择 Map > Georeference AVHRR >Georeference或Basic Tools >Data Specific Utilities > AVHRR >
Georeference Data。选择需要输入的文件,若需要,选取任意空间或波谱子集。如果输入文件不是原始
AVHRR格式的文件,将再次出现输入文件对话框,供选择原始AVHRR文件。将从原始AVHRR文件中抽
取地理坐标定位信息。
当出现Georeference AVHRR Parameters对话框时,从列表中选择所需的输出地图投影类型并输入所需
参数(参见第466页的“选择地图投影类型”)。在相应的“X”和“Y”文本框中,键入X、Y方向纠正点
的数量。
在X方向的纠正点数量应该小于51个,在Y方向的纠正点数量应该小于行数。如果输入的纠正点较
少,它们将在图像中均匀分布。
注意:使用较多的纠正点,消耗的时间将明显增多,但是也将显著提高地理坐标定位的精度。
点击“OK”。当出现标准Registration Parameters对话框时,选择纠正与重抽样方法,若需要,可更改
输出尺寸(参见第439页的“纠正和重采样”)。选择输出到“File”或“Memory”,点击“OK”。
10.9 MODIS 1B数据地理坐标定位
使用Georeference MODIS 1B选项可以对MODIS 1B数据集进行地理坐标定位。ENVI从用于地理坐
标定位的头文件中抽取经纬度值。
选择 Map > Georeference MODIS 1B或Basic Tools >Preprocessing >Data Specific Utilities > MODIS 1B
> Georeference Data。选择需要输入的文件,若需要,选取任意空间或波谱子集。如果输入文件不是原始
MODIS HDF文件,将再次出现输入文件对话框,供选择原始MODIS文件。
SeaWIFS工具-tc itk二次开发
(7) QuickBird工具
使用 QuickBird Radiance工具可以将 QuickBird数据的相对辐射率转化为绝对辐射率(单位:[(�m)/
(cm
2
*nm*skr)])。详细介绍,请参阅第276页的“QuickBird辐射定标”。
使用QuickBird Orthorectification工具可以对QuickBird数据进行正射投影校正。详细介绍,请参阅第
447页的“IKONOS和QuickBird正射投影校正”。
(8) IKONOS工具
使用IKONOS Orthorectification工具可以对IKONOS数据进行正射投影校正。详细介绍,请参阅第447
页的“IKONOS和QuickBird正射投影校正”。
(9) SeaWIFS工具
可以使用SeaWiFS工具对HDF和CEOS格式的SeaWiFS数据进行几何信息的计算和地理坐标定位。
可以计算的几何信息包括:纬度、经度、传感器方位角、传感器高度、太阳方位角、太阳高度以及 UTC
时间。地理坐标定位功能根据一个完善的适于地球和卫星轨道的几何模型生成了一个完全精确的地理编
码。
‧ 构建几何文件
使用Build Geometry File工具可以为HDF和CEOS格式的SeaWiFS数据计算几何信息。详细介绍,
请参阅第463页的“构建SeaWIFS几何文件”。
‧ SeaWIFS数据地理坐标定位
使用Georeference Data工具可以对SeaWIFS数据进行地理坐标定位。详细介绍,请参阅第464页的
“SeaWIFS数据地理坐标定位”。
图像旋转-tc itk二次开发
5.4 图像旋转
Rotate/Flip Image工具可以执行几种“标准的”图像旋转,包括:进行或不进行转置的(此处,“转置”
意味着数组中元素的交换)0、90、180或270度旋转,也可以指定要旋转的任意角度。图像旋转对于配准
前图像的定位有很大用处。
提示:要垂直旋转(轴线水平穿越图像中央)一幅图像,选择270度(进行转置)进行旋转。要水平旋转
(轴线竖直穿越图像中央)一幅图像,选择90度(进行转置)进行旋转。
选择Basic Tools > Rotate/Flip Data。当出现Rotation Input File对话框时,用标准ENVI文件选择程序
(参见第10页的“ENVI文件选择”)选择输入的文件和任意子集。点击“OK”,将出现Rotation Parameters
对话框,该对话框根据所进行的旋转是标准IDL旋转还是任意角度旋转而发生细微改变。
注意:最初,在对话框右上角的方框中,一些字母和数字水平显示出来(正常文本位置)。数字的方向示
意性地表明了按指定角度和/或转置进行旋转后输出图像的位置。
选择下列旋转选项:
若应用“标准旋转”(0、90、180、270度),点击相应的切换按钮。若旋转图像的X、Y坐标,点击
“Transpose”标签旁的“Yes”。要指定所需旋转的准确角度,在“Angle”文本框里,键入角度值,角度
是以水平方向为起点顺时针方向度量的。然后点击相应的切换按钮,选择用于计算输出图像的重采样算法
(nearest neighbor(最近邻原则)、bilinear interpolation(双线性内插)或cubic convolution(立方体卷积))(参见
第439页的“纠正和重采样”)。
图 5-5:Rotation Parameters 对话框:
左一标准的 IDL旋转和转置,右一任意角度旋转
选择输出到“File”或“Memory”。点击“OK”,开始进行旋转处理。将显示一个标有完成百分比的
加载矢量并显示-tc itk二次开发
3.9 可用矢量列表
可以使用可用矢量列表(The Available Vectors List)来把矢量加载到一个矢量窗口,或把矢量叠加到
显示图像中。你可以叠加不同投影类型的矢量层,或把投影类型各不相同的矢量和图像叠加在一起。叠加
的图像和第一个矢量层的投影决定了结果的投影类型,其他层的投影自动转换到该种投影类型。
当你使用 ENVI把一个矢量首次加载进内存时,ENVI自动把该文件的矢量层导入到可用矢量列表中。
允许显示在可用矢量列表中的数据文件包括:ENVI矢量文件、DLG、Microstation DGN、MapInfo、SDTS、
DXF、 ARC/INFO Interchange和 ArcView Shape文件。如果打开了多个矢量文件,所有文件中的所有矢量
层都会顺序出现在可用矢量列表中。
从可用矢量列表中,你可以选择要显示的矢量叠加在一幅图像上或在一个单独的窗口显示。通过在对
话框的一角点击鼠标左键并拖放到所需要的大小和/或形状,你可以拉伸和调整可用矢量列表的大小。
图 3-11:可用矢量列表
(1) 加载矢量并显示
在 ENVI中显示矢量文件,按照下列步骤:从 ENVI 主菜单,选择Window > Available Vectors List。
所有打开的矢量层将出现在可用矢量列表中。在层名上点击。
要选择所有层,点击“Select All Layers”。要清除所有层,点击“Deselect All Layers”。要从列表中删
除一个层,点击层名,然后点击“Remove Selected”。
在可用矢量列表中点击“Load Selected”,将矢量导入到一个矢量或显示窗口。当出现 Load Vector Layers
对话框时,通过在所需要的窗口名上点击,来选择一个矢量目的文件显示窗口。
若一个图像显示窗口被打开,该显示名(例如 Display #1)将出现在列表中。点击所需要的显示窗口
ENVI处理状态窗口-tc itk二次开发
(1) 可用波段列表
可用波段列表是用于存取 ENVI 图像文件和这些文件的单个图像波段的主要控制面板。无论何时一个
图像文件被打开,可用波段列表将在它自己的对话框中出现,它是包含所有打开的文件和任何内存数据项
(在内存中进行计算,但不保存)的可利用图像波段的一个列表,可以为配准过的图像显示地图信息。若
打开了多个文件,那么所有文件的所有波段按先后顺序列出,最新打开文件的波段位于列表最顶部。可用
波段列表可以用于将灰阶和彩色图像装载到当前显示、打开和关闭文件或从内存中删除单个波段(参见第
三章的“可用波段列表”)。
(2) 可用矢量列表
可用矢量列表包含一系列内存中现有的用于在图像显示窗口或矢量显示窗口中显示的所有矢量文件。
一旦载入,所有读入内存的矢量层按先后顺序列出,最新读入的矢量位于列表最顶部。可使用该列表启动
矢量显示以及从内存中删除矢量层(参见第三章的“可用矢量列表”)。
(3) 浏览目录列表和Geo-Browser
浏览目录列表列出一个已选目录中的所有 ENVI 文件,打印文件信息,允许打开选定的文件,以及启
动 Geo-Browser文件显示。Geo-Browser在一幅世界地图上用一面红旗标记所有的地理编码数据的位置
(参见第二章的“扫描目录列表”)。
(4) 可用文件列表
可用文件列表是一个用于管理 ENVI图像文件的工具。它列出了当前打开的所有文件和内存数据项的
名字。选择一个文件名,将列出该文件所有的已知信息,这包括诸如完整的路径和图像名等参数;线、采
样和波段数;标题大小;文件类型;数据类型;交叉;数据的字节顺序;数据是否采用了地理坐标定位,
波长是否与波段相关联。选项中包括删除内存数据项,关闭或删除单个文件,以及将内存计算结果写到磁
盘文件。这些操作允许最优使用系统内存(参见第三章的“可用文件列表”)。
(5) ENVI窗口查找器
ENVI 窗口查找器列出所有已打开的主要 ENVI 窗口,包括:主图像、滚动和缩放窗口、所有辅助窗
口,以及许多 ENVI交互功能中用到的其它窗口和对话框。可以通过在窗口名字上点击,调用任何窗口或
对话框到前景(参见第三章的“窗口查找器的使用”)。
(6) ENVI处理状态窗口
当计算进行时,大多数 ENVI功能显示处理状态。功能启动后,会立即出现一个标准的状态窗口。窗
方法的选择-tc itk二次开发
(3) 波谱分析信息解译
波谱分析的输出是所分析的波谱与输入波谱库中每种要素的波谱的匹配得分排序或权重的得分。最高
得分表示匹配最好,波谱相似度的可信度高。相似的要素得分应该相对较高,但是不相关的要素得分应该
较低。
(4) 成功使用波谱分析的提示
波谱分析是建立在波谱匹配技术之上的,对成功运作有具体的要求。下面的条目总结了要成功使用该
工具应考虑的事项。
‧ 波长范围
许多要素在一个波长范围内是类似的,但是在其它范围内具有较大差异。包含特定吸收特征的波长范
围将产生最好的结果。当显示一个波谱时,波谱分析工具将对显示在图表窗口中的整个范围进行分析。如
果需要使用一个特定范围,在图中用鼠标中键将波谱图放大到所需的波长范围,然后点击Spectral Analyst
窗口中的“Apply”。
(5) 方法的选择
判定要素是否具有吸收特征。如果它们有,最好使用波谱特征拟合方法。此外,波谱角分类和二进制
编码也能得到较好的结果。
‧ 库中要素缺乏时的情况(与其它要素的类似)
如果感兴趣的要素波谱在波谱库中不存在,它就不能被识别出来,此时,类似的材料也许得分值相对
较高。
AVHRR定标-tc itk二次开发
(2) AVHRR定标
可以使用AVHRR定标功能对来自NOAA 12、14、15、16和17号卫星的AVHRR数据进行定标。波
段1和2主要被定标为反射率,波段3、4和5被定标为亮度温度(单位:开尔文)。
详细介绍,请参阅第288页的“AVHRR数据定标”。
(3) Landsat MSS定标
用已经公开的post-launch增益和偏移(参见本页的“Landsat TM定标”),使用Landsat MSS 定标功能
可以将Landsat MSS数字值转换成辐射率或外大气反射率(大气上界的反射率)。
选择Basic Tools >Preprocessing > Calibration Utilities > Landsat MSS。当出现MSS Calibration Input File
对话框时,选择输入文件;若需要,用标准的ENVI文件选择程序构建空间或波谱子集。点击“OK”,将
出现MSS Calibration Parameters对话框。从“Satellite”按钮菜单中,选择卫星类型。在适当的文本框里,
键入获得数据的时间(月、日、年)和太阳角度。点击“Radiance”和“Reflectance”切换按钮,选择要
输出的类型。选择输出到“File”或“Memory”。点击“OK”,开始运行。
将出现MSS定标状态窗口,其中显示输出文件名以及已经完成的百分比。
(4) Landsat TM 定标
用 已 经 公 开 的 post-launch 增 益 和 偏 移 (参 见 http://landsat7.usgs.gov/cpf/cpf.php 和
http://edcftp.cr.usgs.gov/pub/metadata/satellite/landsat7.tar.gz ),使用Landsat TM定标功能可以将Landsat TM
或ETM数字值转换成辐射率或表观大气反射率(大气上界的反射率)。
波谱辐射率(Lλ)可以用下面的公式计算:
式中,QCAL为经过定标和量子化的比辐射率,单位为数据值(无单位)。LMINλ为QCAL = 0时的波谱辐
射率,LMAXλ为QCAL = QCALMAX时的波谱辐射率,QCALMAX为新的比辐射率(rescaled radiance)
范围。LMINλ和 LMAXλ的值可以从 Landsat技术手册(1986年 8月)提供的列表和 ENVI提供的 TM
Calibration Parameters对话框(图5-20)中获得。对于所有的TM值,QCALMAX = 255;对于所有MSS
数据(波段4(0.8-1.1μm)除外),QCALMAX = 127;对于某些时期(1979年2月1日前获取的landsat 1-3
数据和1982年10月22日前处理的数据),QCALMAX = 63。作为结果的辐射率的单位为mW/(cm
2
*sr*�m)。
表观大气反射率(ρp)可以用下面的公式计算:
存储为标准的ENVI文件-tc itk二次开发
(1) 存储为标准的ENVI文件
使用 Standard选项从包括 ENVI文件、外部文件或内存数据项在内的文件中创建磁盘文件。
选择 File > Save File As > Standard。当 New File Builder对话框出现时,点击“Import File”。出现 Create
New File Input File 对话框。通过点击文件名来选择文件。
图 2-11:New File Builder
注意:如果要包含的文件没有显示出来,点击“Open File”,选择需要输入的文件。
按需要构造该文件的空间或波谱子集。(详见第 11 页的“选取空间子集”和第 14 页的“选取波谱子
集”。)
提示:如果一组文件大小相同,你可以空间或波谱上抽取这组文件的子集,这一子集将用于每一个文件。
使用“Import ENVI File”按钮,重复选择文件。输入的文件将会被列入 Selected ENVI Files for New File
列表中。要从 New File Builder 对话框列表中删除文件,点击文件名,然后点击“Delete”按钮。
要改变输入的文件或波段的顺序,参见下面的“Reordering Files”。
• 改变文件顺序
1. 在 New File Builder对话框中点击“Reorder Files”按钮,出现 Reorder Files对话框。
2. 点击并拖动文件名或波段名到列表希望的位置。
3. 如果需要,重复上面的操作。
4. 点击“OK”。
• 删除多余文件
当你创建了一个标准文件后,可以使用该程序来删除用来创建该文件的波段。可以通过选择“Remove
Superfluous Files?”标签旁边的箭头选择按钮中的 Yes或 No来决定是否删除多余文件。
警告:该功能能够把文件从可用波段列表和磁盘中删除:如果内存数据项被转移到新文件,并选择了
技术支持-tc itk二次开发
1.12 ENVI支持的输出文件格式
ENVI 支持的输出文件格式如下所示。关于这些格式的更多信息参见第二章的“文件的存储”和第四
章的“显示输出选项”、“矢量层操作”。
ENVI二进制文件
● BSQ(波段顺序格式)
● BIL(波段按行交叉格式)
● BIP(波段按像元交叉格式)
一般图像格式
● ASCII ● SRF ● BMP
● TIFF(GeoTIFF) ● HDF ● TIFF world Files(.tfw)
● JPEG ● XWD ● PICT
图像处理格式
● ArcView Raster(.bil) ● ER Mapper ● ERDAS 7.5(.lan)
● NITF 02.00/02.10 ● PCI(.pix)
矢量格式
● ArcView Shape文件 ● DXF ● ENVI矢量文件(.evf)
1.13 技术支持
在使用 ENVI的过程中遇到问题时,请尽快把它告诉我们,我们将对它进行测试。该节将会讲述如何
进行问题报告,以便于我们尽快对它进行纠正。
打包前的准备-煤矿井下搜救探测机器人结构设计
12.2 打包前的准备
本节主要描述控制打包设计的属性,某些 Packager-XL 可能会影响这些属性的行为。
可以指定属性见下:
• 使用 LOCATION 属性和 SECTION 命令指定原理图中元件的参考位号和相应的部
分。
• 使用 PINSWAP 命令在元件各个功能组之间交互管脚。
• 使用 GROUP 或者 ROOM 属性生成群组和区域。
• 使用 PACK_IGNORE 和 PACK_SHORT 属性在打包时做特殊的处理。
12.2.1 属性类型
Package_XL 支持的属性类型和属性如下:
• Component definition:可以给元件加属性定义,但是不能反标回原理图。
ALT_SYMBOLS
JEDEC_TYPE
MERGE_POWER_PIN
MERGE_NC_PINS
NC_PINS
PINCOUNT
POWER_GROUP
POWER_PINS
• Component instance:应用于参考位号或者封装,是在原理图中额外附加给元件的
的属性。下面是举例:
Component auto-place priority
Power dissipation
• Pin instance:一般就是 PN 属性,其他的比如时序和功耗的数据。
• Schematic instance:包含附加给原理图实例的任何属性。
• Net
12.2.1.1 Packager-XL 添加的属性
有两套属性可以反标回原理图:
• Packager-XL 属性(CDS_LOCATION, CDS_SEC 等等)
• 显示属性($LOCATION 和$PN)
可以手工编辑$LOCATION 和$PN 的属性值,属性会变成 LOCATION 和 PN,打包时不会
覆盖这些值,可以使用 section 命令来改变 SEC 属性。
12.2.1.2 控制属性的指令
可以使用下面的指令来控制 Packager-XL 和 PCB 工具之间的属性流程:
• FILTER_PROPERTY
资源定义-数据库基础知识
第6章 资源定义
6.1 地址
6.1.1 address(地址):
添加地址定义:
语法:
address add name <name> ip <ip> [ comment <comment> ]
参数说明:
name 设置地址定义的名字
ip 设置 IP 地址,可以使用单个 IP 地址、IP 地址/子网掩码、IP 地址段、或
反 IP 地址/子网掩码
comment 设置地址定义的注释,可选参数,默认为空
注意事项:
ip 地址段的格式为:ip1:ip2 如:1.1.1.1:1.1.1.3
ip 地址/子网掩码格式为:ip1/mask 如:1.1.1.1/255.255.255.0
反 ip 地址/子网掩码格式为:ip1~mask 如:1.1.1.1~255.255.255.0
示例:
ac>address add name a1 ip 192.168.1.1 comment “address 1”
修改地址定义:
语法:
address set name <name> { [ ip <ip> ] [ comment <comment> ] }
参数说明:
name 指定欲修改的地址定义的名字
ip 修改 IP 地址,可以使用单个 IP 地址、IP 地址/子网掩码、IP 地址段
comment 修改地址定义的注释
注意事项:
无
示例: