一、绘制方式。
绘制方式
方式 说明 网格线绘图方式(wireframe) 这种方式仅绘制三维物体的网格轮廓线 深度优先网格线绘图方式(depth_cued) 用网格线方式绘图,增加模拟人眼看物体一样,远处的物体比近处的物体要暗一些。 反走样网格线绘图方式(antialiased) 用网格线方式绘图,绘图时采用反走样技术以减少图形线条的参差不齐。
平面消隐绘图方式(flat_shade) 对模型的隐藏面进行消隐,对模型的平面单元按光照程度进行着色但不进行光滑处理。 光滑消隐绘图方式(smooth_shade) 对模型进行消隐按光照渲染着色的过程中再进行光滑处理,这种方式更接近于现实。 加阴影和纹理的绘图方式(shadows、textures) 在模型表面贴上纹理甚至于加上光照阴影,使得三维景观像照片一样。 运动模糊的绘图方式(motion_blured) 模拟物体运动时人眼观察所感觉的动感现象。 大气环境效果(atmosphere_effects) 在三维景观中加入如雾等大气环境效果。 深度域效果(depth_effects) 类似于照相机镜头效果,模型在聚焦点处清晰,反之则模糊。 二、OpenGL核心库
1、基本图元
几何图元类型和说明
类型 说明 GL_POINTS 单个顶点集 GL_LINES 多组双顶点线段 GL_POLYGON 单个简单填充凸多边形 GL_TRAINGLES 多组独立填充三角形 GL_QUADS 多组独立填充四边形 GL_LINE_STRIP 不闭合折线 GL_LINE_LOOP 闭合折线 GL_TRAINGLE_STRIP 线型连续填充三角形串 GL_TRAINGLE_FAN 扇形连续填充三角形串 GL_QUAD_STRIP 连续填充四边形串 2、调用函数
调用函数
函数 说明 glVertex*() 设置顶点坐标 glColor*() 设置当前颜色 glIndex*() 设置当前颜色表 glNormal*() 设置法向坐标 glEvalCoord*() 产生坐标 glCallList(),glCallLists() 执行显示列表 glTexCoord*() 设置纹理坐标 glEdgeFlag*() 控制边界绘制 glMaterial*() 设置材质 例如绘制一个三角形:
应用目的
1、材料研究中试样接头处不同部位的硬度是不一样的,有时候为了形象的表示该现象,需要将不同位置的硬度数据图像化。
2、能谱面扫描时,牛津仪器给出的图像时依据明暗调节的,图像并不好看,如果可以保留原始数据,zaimatlab中将明暗做成云图将会让结果非常好看。
源数据类型
与位置相关的数据。可以理解为一个大的二维矩阵,每个位置存在不同的数据。
方法及命令
imshow等。
原始数据
。。。。。。。。。。。。。。。
方法0:最笨的方法
X=[对应每个点的横坐标,,,,,,,,,,]
Y=[对应每个点的纵坐标,,,,,,,,,,]
Z=[对应每个点的具体数值,,,,,,,,,]
fill(X,Y,Z)
shading interp;
colorbar;
axis equal;
方法1:
首先需要导入excel数据并保存呈mat格式
将mat格式打开并采用table2array命令转换成矩阵
然后采用imshow命令
load(hardness.mat)
A=table2array(hardness) %该函数可以将table数据变为数组,即double.
imshow(A)
然而存在如下问题
1 图片为白色;2 图片为灰度图
在matlab中,我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算。在matlab中,为了保证精度,经过了运算的图像矩阵A其数据类型会从unit8型变成double型。如果直接运行imshow(A),我们会发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色,而imshow显示uint8型时是0~255范围。而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了。
即使采用采取各个数据与最大值相除,然而=1的位置仍为白色,因此imshow命令并不合适
imshow(B,[])等效于C=B/max(max(B)) imshow(C,[])
方法2:
linspace是Matlab中的一个指令,用于产生指定范围内的指定数量点数,相邻数据跨度相同,并返回一个行向量。
调用方法:linspace(x1,x2,N)
功 能:用于产生x1,x2之间的N点行矢量,相邻数据跨度相同。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。
举个例子 A=linspace(-6,6,4)
运行结果如下:A=-6 -2 2 6
意思就是 -6为起点 6为终点 4指向量的个数 且是均匀的分段的。
如在命令窗口中输入:
X=linspace(5,100,20)
将输出:
X =
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
我知道你在找它,如果没有你打我
1.取消Cesium版权信息 $(".cesium-widget-credits").remove(); 或
const credits = document.getElementsByClassName("cesium-widget-credits"); credits[0].parentElement.removeChild(credits[0]); 2.禁止双击zoom到Entity viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK); 效果:禁止双击放大地图
3.标记去掉地形遮挡 entity.billboard.disableDepthTestDistance = Number.POSITIVE_INFINITY 4.禁用默认相机控制事件 scene.screenSpaceCameraController.enableRotate = false; scene.screenSpaceCameraController.enableTranslate = false; scene.screenSpaceCameraController.enableZoom = false; scene.screenSpaceCameraController.enableTilt = false; scene.screenSpaceCameraController.enableLook = false; 5.地球移动事件 camera.moveStart.addEventListener(function() { }); camera.moveEnd.addEventListener(function() { }); 6.球缩放事件 viewer.camera.changed.addEventListener(function(percentage) { }); 7.修改鼠标操作习惯
利用Cesium.ScreenSpaceCameraController(scene)实现
例如:
//设置操作习惯,更换中键和右键 viewer.scene.screenSpaceCameraController.tiltEventTypes = [ Cesium.CameraEventType.RIGHT_DRAG, Cesium.CameraEventType.PINCH, { eventType: Cesium.CameraEventType.LEFT_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL }, { eventType: Cesium.CameraEventType.RIGHT_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL } ]; viewer.scene.screenSpaceCameraController.zoomEventTypes = [Cesium.CameraEventType.MIDDLE_DRAG, Cesium.CameraEventType.WHEEL, Cesium.
心里能力不强的人,请别看。 有些事情还是不要接触比较好, 社会最恶一面不是随随便便就能接触到的, 也不是你能理解的 好吧,忽略上文所说,至于暗网到底是什么,今天就去领略风情 ———> What a fucking thing is this? 好吧,已经无力吐槽,什么鬼东西都出不来,而且也无明显的性暴力篇幅。据说是经过3次代理导致请求缓慢。总之就是——一点也没劲
全局的属性在全局app.json里面设置,如果要设置单独界面里面的属性,就在那个文件夹底下的XXX.json里面设置就可以了。
{ "navigationBarBackgroundColor": "#b3d4db", "navigationBarTitleText": "服务中心", "navigationBarTextStyle": "white" }
网络攻防从来是一场没有硝烟的战争,攻防双方你来我往,奇技巧谋,各擅胜场。而细究网络攻击案例,不难发现其中潜藏不少兵家谋略。
A
暗 渡 陈 仓
暗渡陈仓是著名兵书《三十六计》中第十九计,全称为“明修栈道,暗渡陈仓”,出自楚汉相争时韩信攻咸阳的典故,常被形容用一些公开不被怀疑的行为来掩藏背后的真实目的。
某种意义上,2017年上半年造成巨大恐慌的勒索软件 WannaCry 和 ExPetr 便深得此计精髓。
表面上看来,WannaCry和ExPetr 就是两个单纯的勒索软件,可是真的如此么?——未必。
这两个勒索软件由两个不同的组织发布传播,除了同样造成惊人的影响力外,这两次攻击还有个共同点便是对经济收益的兴趣缺乏。
结合之前造成重大影响的勒索软件来看,无论是曾经造成乌克兰电网停摆的BlackEnergy、明显带有政治动机的索尼影业攻击事件中的主角Destover,还是在主要在中东地区扩散的Shamoon、StonedDrill,首先,它们都自带数据擦除功能,其次,这些攻击的发动时间、作用地域都和同期的一些大型政治事件相吻合。
通过勒索攻击掩盖真正的政治意图已成为一项不断发展并日趋成熟的战术策略。于是我们猜想,WannaCry和ExPetr 是否也是如此。
WannaCry攻击的部署
事实上,WannaCry远在其广为人知之前便开始实施部署。我们掌握了一些证据表明,WannaCry部署工作的开展早于公开讨论的时间。
早于3月14日,攻击者便已通过网络钓鱼来感染目标受害者。网络钓鱼会包含一个指向位于公共网络托管服务的文件的链接。一旦点击链接,会下载一个包含“Job Inquiry – Resume 2017.exe”的压缩包“Resume.zip”,而受害者通常会以为这是一个职场应用。
此可执行文件保留了修改后的Adobe pdf文件图标,在释放众多恶意程序(造成安装WannaCry的释放器及下载器)的同时,立即打开作为诱饵的应用。以下是是诱饵之一,这可能是一个安全的文件,尽管我们并未在网上找到它。
大多数针对目标易于入侵(可能缺乏可靠的安全防护策略),位置遍布全球,来历各异。
而恶意攻击组织在接下来的两个月里,开始在这些目标的机器上部署第一版WannaCry勒索软件。没有任何迹象表明,他们有在这个过程中试图获取比特币。
利用ETERNALBLUE的DOUBLEPULSAR后门代码及嵌入在勒索软件中的kill switch似乎也更进一步证明了攻击者并没有把精力集中在如何收集比特币上。
有一段时间,攻击者发出了一系列消息,鼓励用户向他们的钱包支付比特币,这更像是一种”此地无银三百两”的心虚之举。
这两个月的攻击活动缺少经济收益,某种程度,表明了这些攻击者真正在意的是那些小心隐藏在勒索活动表面下的目的。
ExPetr部署
ExPetr部署工作极富技术含量。该病毒针对目标是乌克兰政府的主要办公软件供应商。攻击者还侵入了UA的新闻网站,以便让攻击目标群体不局限于MEDOC网络范围内。
一旦侵入MEDoc网络,他们就可以访问软件更新组件,并以此进一步在目标客户组织中窃取凭据。侵入事件发生在4月份,而大规模的磁盘擦除则发生在很晚以后。
此外,并不是所有接收到Telebot部署尝试的系统在之后都会被部署ExPetr。同样,并非所有接受ExPetr部署尝试的系统之前曾被部署过Telebot。
奇怪的是,采用启动蠕虫的ExPetr有着与前面提到的WannaCry相似的延迟发动。
攻击者发布了WMI / PsExec / ETERNALBLUE / ETERNALROMANCE武器化的ExPetr版本。从Wannacry的不断升级中,可以看到,即使对Windows系统进行了修补,攻击者也可窃取用于有效横向同级访问的凭证,并且可以擦除/隐藏目标系统。
这点也意味着,攻击者将目标执着的锁定在乌克兰相关目标网络。蠕虫组件也不会在目标网络之外生成随机网络连接。该变体包括有由本地win64和win32 MSVC编译的Mimikatz启动组件,该组件会释放到磁盘中运行,用于窃取密码,最终获得最高权限,以便于更好的进行传播。
除了上述共同点外,以上案例还有个特点,就是蠕虫最开始侵入时,并非利用0day漏洞,更多是因为设备本身的脆弱。
无独有偶,最近关于医疗机构网络安全的一份研究显示,设备的脆弱是重要挑战之一。解决方案具体体现在实际层面就是制定程序,安全计划,实施新的安全技术以及不断培养员工安全意识方面。
如今电子邮件攻击(以网络钓鱼和勒索软件威胁的形式)数量不断攀升。网在未来Verizon的“ 2017年数据泄露事件报告”还强调了医疗保健行业内勒索软件攻击的升级,而其中最主要的威胁来源出自内部,据统计,其中68%的威胁是内部威胁,而32%来自外部来源。
通过调查还发现,内部人员和第三方供应商已成为三分之二安全专业人士的首要担忧之处。63%的受访者表示,员工的错误和数据处理不当是他们面临的最大挑战。69%的受访者也表示,第三方供应商在过去一年也是网络安全的重要不稳定因素之一。
小结
过去的一年,安全形势很难令人乐观。但是在研究中,我们发现这些安全隐患大部分并不是因为什么0day漏洞,更多是出于安全意识的欠缺,导致设备系统脆弱。所有安全响应计划里,最重要的始终是准备阶段。
而如今随着技术的不断发展,各种安全威胁不断升级,与之相对的是成本的不断降低,仅靠事后防治很难解决问题,更多的只能通过提前预设安全方案进行安全加固,进行事前防御。
— end —
安全之道,青松知道
两台机器在同一网段内,互联或者连接同一路由器
\\192.168.1.100\share
人就是信用的载体。
看懂了《黑客帝国》的人,心中一定难掩悲哀——这是人类的终极归宿吗?
看懂了《三体》的人,只怕也有不少犯上抑郁症——文明之争竟如此冷血?
当区块链技术以摧枯拉朽之势呼啸而来,曾经以为2140年(比特币被挖完的那一天)才会到来的场景触手可及,矩阵已成,三体降临,这一切并不遥远。
技术进化比想象的要快得多,互联网、区块链、算力、AI将重新定义人类之存在?
人性向左,技术向右,人类的田园时代是否就此终结?
这一切还是要回归到思考人本身的问题,人在未来,将如何存在?
如果人类文明最有用的数据在链上运转,那么,虚拟和现实界限必将模糊,人与 Token 之间渐渐融合。
到那个时候,人从出生起就是天生的点对点的信任机器。
最后,人似货币,人本身成了衡量一切的价值标的。
创世块与你共生 先来梳理一下历史:2009年1月3日出现的比特币,虽然被赋予货币属性,但它只是向法币世界刺出的一把利刃,最初的想法很简单,就是颠覆华尔街掌控的百年特权。
作为一个极具情怀的技术极客,中本聪的想法很简单,目的也很纯粹,就是希望通过 P2P + 密码学 + 编程合约让每个人获得铸币权,这从比特币的创世区块对英国财政大臣的讽刺可以看得出来。但它仍然是一个中间等价物,参照系是现实世界的法币和黄金,中本聪没有将这个币的价值与自己绑定。
不过区块链技术的车轮一旦启动,特别历经 ERC20 标准洗礼后,人人发币不再是一个梦想,如果每个人的价值上链之后,那么人币一体化是水到渠成的合体。
Token 成为社会运行的基本单位,人与人之间自由交换价值,无需第三方背书,去中心化的交易所会给出一个标准型的兑换价格。所有 Token 的价值,都是基于人和人、人和机器、机器和机器之间形成的共识,通过算法予以确认。
区块链的文明形态 区块链文明形态的出现,使人类之间的协作达到前所未有的深度和广度。这种深度是建立在忠于数学的基础之上、超脱于人本身的信任,这种信任逐渐会同化为一种信仰。广度则是任何人都可以参与进来,甚至包括星际文明。一切数据共享透明,且不可篡改,个体和组织都脱离了各种中心化机构的框架约束,自由迁徙,自主匹配,自由生产。一切共识也因来自于个体独立意志的自由选择使人与人的关系变得紧密联系、深度链接。具体表现出以下三种特质:
1、万物去中心化 区块链去中心化的本质特征,使得物与物、人与物、人与人之间都会去中心化。
在万物互联的时代,区块链将万事万物都陈列到机器世界的“货架”上,面向算法统一标识,机器根据数据信息秒速运算,并完成点对点的匹配,从而自动组合、自主交易。其中,人也是“货架”的货物之一,每一个个体都更像是区块链分布中的一个节点,人类因有价值的生活记录和信息都被加密变成一段数据(哈希值)而不断地被数据化。系统根据各种可视化的个人数据自动配对,在达成共识之后,交易彼此的个人 Token。
在这样的社会生产过程中,一切的交易行为都是有价值数据的互换,并且所有的交易过程因其透明性和自主性能迅速高效地完成,而不是信息不对称下的被动交易。
2、利益绑定,价值共识 万物去中心化后,人与人也会因根据独立意识选择达成的共识价值而被深度绑定。
信息互联网下,人与人处于一张信息流动的大网之下,关系是一种弱关系;而价值互联网下,区块链使得人们的经济行为在算法之上达成价值共识,每一个人都可以用自己的信用做背书发行 Token,利益深度捆绑之下,人与人之间被紧紧地连在一起。
在社会生产中,随着核心生产资料从土地厂房变成了算力和数据,人类会发行 Token 来募集所需的生产资料,由此每一个天然去中心化的 Token 就成了一种共识,成为了认同的一种标志。因此,Token 所代表的生产关系,是人类可能更接近于某种信仰:在生产资料充裕的情况下,人类的意志独立,并开始回归到原始本质——自由地有意识地活动,在共同利益之下一起完成某件事情。
3、透明化思维 透明化思维是区块链文明区别于其他文明独有的特征。生活在区块链文明世界里的人,都可以直接观测到对方的公共信息。
区块链本身去中心化、不可篡改、可追溯等特性使得区块链上所有被记录的信息都公开透明,因此,人与人之间可以直接点对点地获取对方的一切,无需通过任何第三方,从而降低了信任成本。整个社会也在快速无误的共享信息、高效运转。
所以,拥有透明化思维的文明是一种更高级的文明。人与人在数字、意念中对接、匹配、协作,并变得彻底透明化。甚至,在区块链文明之下,人类成为了主链上的一个坐标系,有着可视化的时间运行尺度,一生都用数字价值的货币来进行衡量,最终达到一种“人即货币”的状态。
人即货币的三大定律 一个人所代表的价值被直接以货币的形式所体现,这是信用社会建立的基础。每个人从出生到死亡的一生数据的确权,使得这样的数据极有价值,我们的数据都能为我们的信用做背书,在此提出“人即货币”三大基本定律。
1、每个人都有发行货币的自由 就像每个人拥有劳动的自由一样,任何人到了18岁都有发行自己货币的权利,每一个人都可以用自己的信用做背书发行货币,来募集生产资料去实现自己的想法。
2、个人价值 = 个人币值 人最重要的信息都在区块链上得到体现,币值直接对应着个人价值,币值随市场行情波动,个人行为直接影响币值行情,要了解一个人当前的社会价值,看他的币值就够了。未来经济基本单位不再是“公司”,而是“个人”。A 股不再是公司的交易,而是人的交易所。
3、人币同在 人即货币,货币即人,这两者不可分离,两者互为镜像,一个是现实世界行走的碳基生命,一个是在区块链上奔波的硅基灵魂。人死币没,币殁人亡。现实世界的人死亡了,那区块链上的钱包地址将被销毁。同样,如果区块链的钱包地址被销毁,那现实世界的人将成为黑户。
人即货币是互联网信用社会的基石,是共识时代的更高版本,这样的社会将最大限度让人类达成协作,通过自律来换取更大的自由和信用,让自发行的货币更有价值。
畅想:货币化的一生 生活在区块链文明里,人的一生,其实就是数字化的一生,数字则凝结在属于自己的 Token 上,它伴随人的一生。从出生到死亡,一生的轨迹都被记录在区块链上,所有的信息都一目了然。实体的人与区块链上的人互相映射,如下图
区块链世界中的人的生命周期示意图
1、出生 你一出生,就被纳入主链这样一个体系之中。在这个体系中,存在着世界通用的价值评估体系,它会随着你的生命路径,不断自动更新对你个人价值的评估。
在你诞生的那一刻,主链根据你个人的本体特征,为你加盖了一个时间戳。
在这个时间戳上,标记着你的性别、父母姓名、分娩情形、出生净重量及具体的出生时间等,并且为你生成一个独一无二的钱包地址。这个地址将会记录你一生的数据,每一笔数据都会有具体的时间标记,永远无法篡改。
非matlab验证代码,非加密p代码,这里提供C++版本,有助于项目开发,如vSLAM、车道线检测等 代码地址:https://github.com/zj611/LIME_Processing
对比效果:
声明:转载请引用本文链接
动机 在dehaze的问题里,其需要解决两个问题,一个是由于大气光造成的颜色投射出现差异,一个是其传输过程中所造成的可视效果衰减。因此论文通过对原始图像进行处理,尽可能的分别恢复出其颜色投射、可视效果,同时由于可视效果太暗,再增加伽马矫正,将这三个图像和原始的image输入,这就是这篇论文的动机。
方法 网络的核心思想就是学习confidence特征图去处理从原始图像获得的三张预处理后的图像,从而自动获得这三个图像特性在最后输出图像中所占的比例。
图像预处理(derived inputs) 这里将图像分别用三种方法进行预处理,分别是进行白平衡操作恢复出由于大气光散射造成的颜色差异,进行图像对比度增强恢复出图像的可视效果,然后由于对比度增强的图可能导致图像过暗,还对原始图像做gamma变换做增强,这样就分别得到$I{wb},,I{ce}和和I_{gc}$。
网络结构 网络使用了encoder-decoder结构,这和unet很像,但是其所有的feature大小保持一样,其同样像unet一样使用了前后skip连接在一起的操作。卷积层为了获得更大的感受野使用了空洞卷积,每个卷积层后面加上一个矫正层,网络最后的输出是三个feature image,分别为$C{wb},,C{ce}和和C_{gc}$,网络的结构图如下所示:
最后的输出为$J=C{wb}*I{wb}+C{ce}*I{ce}+C{gc}*I{gc}$
多尺度的Refine 通过对小尺度图像利用上述网络进行处理获得输出,然后输出进行上采样再送到同样的网络,这样做是为了学习得到更多的细节。每个级别的输入都是上一个级别输入大小的两倍,其相应的derived的预处理图像也是由上一个级别的输出图像得到的。这种级联的结构如下所示: