Opencv 分水岭算法用于图像分割

目标 • 使用分水岭算法基于掩模的图像分割 • 学习函数: cv2.watershed() 原理 任何一幅灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷。我们向每一个山谷中灌不同颜色的水,随着水的位的升高,不同山谷的水就会相遇汇合,为了防止不同山谷的水汇合,我们需要在水汇合的地方构建起堤坝。不停的灌水,不停的构建堤坝直到所有的山峰都被水淹没。我们构建好的堤坝就是对图像的分割。这就是分水岭算法的背后哲理。 但是这种方法通常都会得到过度分割的结果,这是由噪声或者图像中其他不规律的因素造成的。为了减少这种影响, OpenCV 采用了基于掩模的分水岭算法,在这种算法中我们要设置哪些山谷点会汇合,哪些不会,这是一种交互式的图像分割。我们要做的就是给我们已知的对象打上不同的标签。如果某个 区域肯定是前景或对象,就使用某个颜色(或灰度值)标签标记它。如果某个区域肯定不是对象而是背景就使用另外一个颜色标签标记。而剩下的不能确定是前景还是背景的区域就用 0 标记。这就是我们的标签。然后实施分水岭算法。每一次灌水,我们的标签就会被更新,当两个不同颜色的标签相遇时就构建堤 坝,直到将所有山峰淹没,最后我们得到的边界对象(堤坝)的值为 -1。 代码 下面的例子中我们将就和距离变换和分水岭算法对紧挨在一起的对象进行分割。 如下图所示,这些硬币紧挨在一起。就算你使用阈值操作,它们任然是紧挨着的。 我们从找到这些硬币的近似估计值开始,我们使用Otsu’s二值化。 import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('image/coins.png') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU) 结果图: 现在我们要去除图像中的所有的白噪声,这就需要使用形态学中的开运算。为了去除对象上小的空洞我们需要使用形态学闭运算。所以我们现在知道靠近对象中心的区域肯定是前景,而远离对象中心的区域肯定是背景。而不能确定的区域就是硬币之间的边界。 所以我们要提取肯定是硬币的区域。腐蚀操作可以去除边缘像素。剩下就可以肯定是硬币了。当硬币之间没有接触时,这种操作是有效的。但是由于硬币之间是相互接触的,我们就有了另外一个更好的选择:距离变换再加上合适的阈值。接下来我们要找到肯定不是硬币的区域。这是就需要进行膨胀操作了。膨胀可以将对象的边界延伸到背景中去。这样由于边界区域被去处理,我们就可以知道那些区域肯定是前景,那些肯定是背景。 剩下的区域就是我们不知道该如何区分的了。这就是分水岭算法要做的。这些区域通常是前景与背景的交界处(或者两个前景的交界)。我们称之为边界。从肯定是不是背景的区域中减去肯定是前景的区域就得到了边界区域。 kernel = np.ones((3,3),np.uint8) opening = cv2.morphologyEx(thresh,cv2.MORPH_OPEN,kernel,iterations= 2) sure_bg = cv2.dilate(opening, kernel,iterations=3) dist_transform =cv2.distanceTransform(opening, 1, 5) ret,sure_fg = cv2.threshold(dist_transform, 0.7*dist_transform.max(), 255, 0) sure_fg = np.

分享进入内网的详细步骤

分享进入内网的详细步骤: 想要进入官网,首选要突破网关(GetWay),这很容易理解,因为一个内网要访问internet总是必然通过网关接入的,至于怎样突破网关,这和进入不是网关的服务器没有什么两样,就不说了。 突破网关以后,我们的目标就是通过网关(IP为202.98.*.*)上网的192.168.21.75。以后的方法就是在网关力端口重定向,建立包转发。端口重定向分两种(local和remote),但是我们要进而内网,显然不能用local方式的重定向,local方式的重定向主要用来绕过防火墙(关于这个问题我将在随后单独写一篇文章来讨论怎样用端口重定向绕过防火墙)。 一、利用Fpipe建立端口重定向。 Fpipe是个非常有趣的东东。为了证明Fpipe的端口重定向功能,我们来做这样的试验。 首先在自己的机器上运行Fpipe,如下: E:\tool\FPip>fpipe -l 80 -s 90 -r 80 202.98.177.162 FPipe v2.1 – TCP/UDP port redirector. Copyright 2000 (c) by Foundstone, Inc. http://www.foundstone.com //解释一下这个命令 fpipe -l 80 -s 90 -r 80 202.98.177.162 将到本机80端口的连接通过90端口连接到202.98.177.162的80端口。 一下是详细语法: FPipe [-hv?] [-brs ] IP -?/-h – shows this help text \u0006 -c – maximum number of allowed simultaneous connections. Default is 32 #连接的最大数目,默认是32 -l – listening port number #要监听的TCP端口号 -r – remote TCP port number #要定向到的IP主机的端口号

(二)暗网信息爬取(python)

首先要感谢舍友大佬提供的ShadowsocksR以及相应配置。感谢在本阶段帮助过我的学长学姐,谢谢。 暗网(深网,不可见网,隐藏网)是指那些储存在网络数据库里、不能通过超链接访问而需要通过动态网页技术访问的资源集合,不属于那些可以被标准搜索引擎索引的表面网络。 动态网页的url不固定,但可以被爬虫爬取,这是第一个点。 由于相关法律风险,本暗网爬虫代码不开源,但我会将我所理解的核心内容记录。 代码环境为ubuntu,使用语言python,使用库urllib2,socks, socket。 这里不用requests库,在参考许多教程如https://github.com/kennethreitz/requests/issues/3863/ 后发现,requests似乎无法使用socks5的代理端口,遂弃之 进入暗网的“门”为TorBrowser或者Tor 注意:torbrowser和tor并非一个东西,torbrowser是基于火狐浏览器的洋葱浏览器,通常用来做暗网入口,而且一般情况下已经足够了,但由于需要代码环境,我使用了纯Tor 以下是我的搭建步骤: 一,安装配置Tor 在ubuntu命令行输入 sudo apt-get install tor /etc/init.d/tor restart 启动后socks监听9050端口。 tor --hash-password mypassword 用来输入你的密码 编辑/etc/tor/torrc 在其中加上 ControlPort 9051 RunAsDaemon 1 Socks5Proxy 127.0.0.1:1080 HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C 让ControlPort监听9051端口,后边那个16:开头的hash就是上一步得到的。Socks5Proxy是可以使shadowsocks为tor的前端代理(我使用的shadowsocks的端口为1080) 最后重启tor /etc/init.d/tor restart (经过曲折的一番探索,可以基本断定,python的stem库控制tor,并不是控制tor浏览器,而是可以利用tor作为自己的匿名代理,或者监视tor的流量走向。stem库目测不能为暗网爬虫做出什么贡献) 二,设置前端代理shadowsocks 这一段本应该放在最前面,但由于本人的shadowsocks完全依靠了舍友的鼎力帮助,这一段还需要往后自己探索。 就本人理解,shadowsocks作为前端代理最主要的功能就是翻墙。。。 对外提供端口为1080。 三,利用Tor的9050端口爬取暗网。 使用urllib2库,socks库作为socks5代理,示例代码如下: import socket import socks import urllib2 ipcheck_url = 'http://checkip.amazonaws.com/' # Actual IP. print(urllib2.urlopen(ipcheck_url).read()) # Tor IP. socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9050) socket.socket = socks.socksocket print(urllib2.urlopen(ipcheck_url).read() 该代码引用自https://stackoverflow.com/questions/1096379/how-to-make-urllib2-requests-through-tor-in-python

(一)表层网络信息获取(Python引擎爬虫)

项目整体的流程在初步分为三步: 1,表层网络信息获取 2,暗网信息爬取(第一个难点,目前已经解决) 3,信息相似度匹配,机器学习分析。 表层网络信息获取原本打算使用百度、google、bing等搜索引擎。暗网大多数内容为英文,而英文搜索又是百度搜索的短板,遂放弃百度。 google需要翻墙,bing的搜索又不够简洁。 于是找到了了元搜索引擎。 “元搜索引擎又称多搜索引擎,通过一个统一的用户界面帮助用户在多个搜索引擎中选择和利用合适的(甚至是同时利用若干个)搜索引擎来实现检索操作,是对分布于网络的多种检索工具的全局控制机制”——百度百科 简而言之,元搜索引擎可以集百家之长,给用户更大的选择。我选择的元搜索引擎为searX,该搜索引擎已在github上开源,强烈推荐,甚至可以搭建自己的searX元搜索引擎。 使用Python requests和lxml下载了searX上的链接,存入本地。 核心代码如下: if not os.path.exists(word): os.mkdir(word) print '[+]searching '+word headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, compress', 'Accept-Language': 'en-us;q=0.5,en;q=0.3', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0' } for pagecount in range(1, 11): url = 'https://searx.me/?q='+word+'&categories=general&pageno=' + str(pagecount)+'&time_range=None' html = requests.get(url=url,headers=headers) print '[+]'+url path = etree.HTML(html.content) flag=11 if pagecount==1: flag=22 for i in range(1,flag): tempword = "

tensorflow实现图像色彩的调整

实现图像的调整包括以下几个方面: 调整图像的亮度:tf.image.adjust_brightness(img, p)。img是表示目标图像,p表示对比度,大于零变亮,反之变暗 调整图像的对比度。tf.image.adjust_contrast,用法同上 调整色相。tf.image.adjust_hue。用法同上 调整饱和度:tf.image.adjust_saturation。用法同上 例如: import matplotlib.pyplot as plt; import tensorflow as tf; image_raw_data_jpg = tf.gfile.FastGFile('11.jpg', 'r').read() with tf.Session() as sess: img_data_jpg = tf.image.decode_jpeg(image_raw_data_jpg) img_data_jpg = tf.image.convert_image_dtype(img_data_jpg, dtype=tf.float32) img_1 = tf.image.adjust_brightness(img_data_jpg, 0.5) img_2 = tf.image.adjust_contrast(img_data_jpg, 5) img_3 = tf.image.adjust_hue(img_data_jpg, 0.8) img_4 = tf.image.adjust_saturation(img_data_jpg, 5)

《白帽子讲Web安全》读后感 —— 对道哥的致敬

《白帽子讲Web安全》读后感 ——Deep Blue (一个安全小兵的感受) 这是一篇作业;这是一篇读后感;这是一篇记录安全的感悟;这是一篇对道哥的敬仰;这是我安全启蒙的钥匙…… 和《白帽子讲Web安全》的缘分来自一个小意外,在来大学之前的我选择了信息安全这个专业。通过各种渠道吧,我在方方面面了解到这个行业的那些事儿,一点一滴的积累这我的安全观。指导我遇见这本书,第一次觉得安全原来是那么清晰的展示在我眼前。“互联网本来是安全的,自从有了研究安全的人之后,互联网就变得不安全了”当我看到这一句的时候,毫不犹豫的把它作为我的签名,原来我们才是让互联网变得不安全的人啊! 初来大学,第一次进入图书馆。当我发现AUST图书馆也藏有这本书的时候,我是多么激动,转便了所有的书架找到这本书。可以说是笑着抱回宿舍,开始了我的第一次阅读。 第一次看道哥的作品难度还是很大的,整本书四篇十八章,包括世界观安全、客户端脚本安全、服务端应用安全以及互联网公司安全运营四大部分。当时还是大一小萌新的我只看了世界观安全,第一次彻底了解到ROOT是个啥,以前只知道手机ROOT能删除一些系统应用。当我知道“root”对黑客的吸引,就像大米对老鼠,美女对色狼的吸引的时候,立下一个小flag拿下一个网站的root。不想拿到“root”的黑客,不是好黑客。说到黑客我也又不得不多说点,在黑客的世界里,有的黑客,精通计算机技术,能够自己挖掘漏洞,并编写“exploit”(黑客们使用的漏洞利用代码叫做exploit);而有的黑客,只是对攻击本身感兴趣,对计算机原理和各种编程技术的了解比较粗浅,因此只懂得编译别人的代码,自己并没有动手能力,这种黑客被称为“Script Kids”(脚本小子)。在现实世界中,真正造成破坏的,往往并非那些挖掘并研究漏洞的“黑客们”,而是这些脚本小子。在安全的道路上总是有人疑惑自己已经到了那一步,曾看到这样一个分级:会使用工具找漏洞就属于初级,能写自己的黑客工具应该就是中级阶段,能自动化“挖漏洞”就属于高级的大牛了。谈黑客,这本书中的黑客简史真的深深的吸引了我。 中国黑客发展分为三个阶段:启蒙时代、黄金时代、黑暗时代 启蒙时代 20世纪90年代,也正是中国互联网刚刚起步阶段,热爱新兴技术的青年收到国外黑客技术影响,开始研究安全漏洞。启蒙时代的黑客大多由于个人爱好走上这条路,好奇心和求知欲是他们前进的动力,没有任何利益瓜葛。这个时期的中国黑客们通过互联网,看到了世界,因此与西方发达国家同期诞生的黑客精神是一脉相传的,他们崇尚分享、自由、免费的互联网精神,并热衷于分钟自己的最新研究成果。 黄金时代 以2001年中美黑客大战为标志(感兴趣的同学可以百度一下“中美黑客大战”,相信大家都记得2001年中国飞行员王伟为了捍卫国家主权,被美国侦察机撞毁事件,起因正是这件事,这次事件中,中国黑客空前团结,与美国黑客开展了一场激烈的黑客大战,非常轰动,也这是世界第一次黑客大战),这次事件大大推动了中国黑客的发展,崛起了一批黑客、红客联盟,也让黑客这个特殊群体一下吸引了社会的眼球,黑客圈子所宣扬的黑客文化和黑客技术的独特魅力也吸引了无数的青少年走上黑客这条道路。这次事件之后,各种黑客组织如雨后春笋般冒出,他们普遍的特点是:年轻、有活力、充满激情,但技术上也许还不够成熟。此时,黑客圈子里贩卖漏洞、恶意软件的现象开始升温,因为黑客群体良莠不齐,开始出现以赢利为目的的攻击行为,黑色产业链逐渐成型。 黑暗时代 这个时代大概从几年前开始一直持续到现在(PS. 是哪一年呢?个人觉得大概是07年底左右开始吧),也许还将继续下去。这个时期的黑客组织也遵循社会发展规律,优胜劣汰,大多数黑客组织没有坚持下去,20世纪非常流行的黑客技术论坛也越来越没有人气,最终走向没落。所有门户型的漏洞披露站点,再也不公布任何漏洞相关技术细节。随着安全产业发展,黑客的功利性越来越强,黑色产业链开始成熟。在20世纪技术还不太成熟的黑客们,凡是坚持下来的,都已经成为安全领域的高级人才,要么,在安全公司贡献自己的专业技能,要么带着非常强的技术进入黑色产业。此时期的黑客群体因为互相之间缺失信任,已经不再具有开放和分享的精神,最纯粹的黑客精神实质上已经死亡。整个互联网笼罩在黑色产业链的阴影之下,每年数十亿经济损失和数千万网民受害,黑客精神的死亡,让我们没有理由不把这个时代称为黑暗时代。也许,黑客精神所代表的Open、Free、Share,真的一去不复返了! 真羡慕那个令人热血的时代,但如今依旧是互联网充满机遇的时代! 不过你知道吗? “黑客”是有好坏之分的!白帽子、黑帽子,他们是谁:在黑客的世界中,往往用帽子的颜色来比喻黑客的好坏。白帽子,是指那些精通安全技术,工作在反黑客领域的专家们;而黑帽子,是指利用黑客技术造成破坏,甚至进行网络犯罪的群体。 白帽子和黑帽子工作的心态完全不同:正是因为白帽子和黑帽子的目标不同,所以他们在工作时的心态是完全不同的。对于黑帽子来说,只要能够找到系统的一个弱点,就可以达到入侵系统的目的;而对于白帽子来说,必须找到系统的所有弱点,不能有遗漏,才能保证系统不会出现问题。白帽子要求全面宏观、黑帽子思考问题是有选择性的、微观的:白帽子一般为企业或安全公司服务,工作的出发点就是要解决所有的安全问题,因此所看所想必然要求更加的全面、宏观;黑帽子的主要目的是要入侵系统,找到对他们有价值的数据,因此黑帽子只需要以点突破,找到对他们最有用的一点,以此渗透,因此思考问题的出发点必然是有选择性的、微观的。 从对待问题的角度来看,黑帽子是不断组合问题,白帽子是不断分解问题:黑帽子为了完成一次入侵,需要利用各种不同漏洞的组合来达到目的,是在不断地组合问题;而白帽子在设计解决方案时,如果只看到各种问题组合后产生的效果,就会把事情变复杂,难以细致入微地解决根本问题,所以白帽子必然是在不断地分解问题,再对分解后的问题逐个予以解决。这种定位的不对称,也导致了白帽子的安全工作比较难做。“破坏永远比建设容易”,白帽子选择的方法,是克服某种攻击方法,而并非抵御单次的攻击。 安全问题往往发生在一些意想不到的地方:上述一切都是理想状态,在现实世界中,存在着各种各样不可回避的问题。工程师们很喜欢一句话:“No Patch For Stupid!”,在安全领域也普遍认为:“最大的漏洞就是人!”。写得再好的程序,在有人参与的情况下,就可能会出现各种各样不可预知的情况,比如管理员的密码有可能泄露,程序员有可能关掉了安全的配置参数,等等。安全问题往往发生在一些意想不到的地方。防御技术在不断完善的同时,攻击技术也在不断地发展。这就像一场军备竞赛,看谁跑在前面。 世界安全观不仅仅讲的是黑客是理念,更多的是思想。道哥也点出安全问题的本质是信任的安全问题。一切的安全方案设计的基础,都是建立在信任关系上的。我们必须相信一些东西,必须有一些最基本的假设,安全方案才能得以建立;如果我们否定一切,安全方案就会如无源之水,无根之木,无法设计,也无法完成。 把握住信任条件的度,是安全的艺术魅力:在现实生活中,我们很少设想最极端的前提条件,因为极端的条件往往意味者小概率以及高成本,因此在成本有限的情况下,我们往往会根据成本来设计安全方案,并将一些可能性较大的条件作为决策的主要依据。 从另一个角度来说,一旦我们作为决策依据的条件被打破、被绕过,那么就会导致安全假设的前提条件不再可靠,变成一个伪命题。因此,把握住信任条件的度,使其恰到好处,正是设计安全方案的难点所在,也是安全这门学问的艺术魅力所在。 安全的世界里,没有一劳永逸的银弹:在解决安全问题的过程中,不可能一劳永逸,也就是说“没有银弹”。任何人想要一劳永逸地解决安全问题,都属于一相情愿,是“自己骗自己”,是不现实的。 安全是一个持续的过程。 自从互联网有了安全问题以来,攻击和防御技术就在不断碰撞和对抗的过程中得到发展。从微观上来说,在某一时期可能某一方占了上风;但是从宏观上来看,某一时期的攻击或防御技术,都不可能永远有效,永远用下去。这是因为防御技术在发展的同时,攻击技术也在不断发展,两者是互相促进的辩证关系。以不变的防御手段对抗不断发展的攻击技术,就犯了刻舟求剑的错误。在安全的领域中,没有银弹。 我的世界安全观就这么建立了吧,安全问题的本质是信任的问题。并且安全是一个持续的过程,并不存在所谓的银弹。也知道一个安全评估的过程可以分为4个阶段:资产等级划分、威胁分析、风险分析、确认解决方案。虽然懵懵懂懂但总算是读下来了,还有那几个不太懂的白帽子兵法 1.Secure By Default 原则(白名单黑名单、最小权限原则)2.纵深防御原则 3.数据和代码分离原则 4.不可预测性原则 可喜可贺的是我也拥有了一本自己的《白帽子讲Web安全》这本书了,再也不用担心图书馆的这本书会被借走了。也在慢慢接触Web安全的一些漏洞。 Web 攻击技术发展的几个阶段:①Web 1.0时代,人们更多的是关注服务器端动态脚本的安全问题,比如将一个可执行脚本(俗称webshell)上传到服务器上,从而获得权限。动态脚本语言的普及,以及 Web 技术发展初期对安全问题认知的不足导致很多“血案”的发生,同时也遗留下很多历史问题,比如PHP 语言至今仍然只能靠较好的代码规范来保证没有文件包含漏洞,而无法从语言本身杜绝此类安全问题的发生。②SQL注入的出现是Web 安全史上的一个里程碑。SQL注入最早出现在 1999年,并很快就成为Web 安全的头号大敌。通过SQL 注入攻击,可以获取很多重要的、敏感的数据,甚至能够通过数据库获取系统访问权限,这种效果并不比直接攻击系统软件差,Web 攻击一下子就流行起来。(SQL 注入漏洞至今仍然是Web 安全领域中的一个重要组成部分。)③XSS (跨站脚本攻击)的出现则是 Web 安全史上的另一个里程碑。实际上,XSS 的出现时间和SQL 注入差不多,但是真正引起人们重视则是在大概 2003年以后。在著名的是2005年的MySpace的XSS 蠕虫事件后,安全界对 XSS 的重视程度提高了很多。④随着Web 2.0 的兴起,XSS 、CSRF(跨站请求伪造) 等攻击已经变得更为强大。Web 攻击的思路也从服务器端转向了客户端,转向了浏览器和用户。黑客们天马行空的思路,覆盖了Web 的每一个环节,变得更加的多样化。⑤互联网的蓬勃发展,也催生出许多新兴的脚本语言,比如Python 、Ruby、NodeJS等,敏捷开发成为互联网的主旋律。而手机技术、移动互联网的兴起,也给HTML 5 带来了新的机遇和挑战。Web安全技术,也紧跟着互联网发展脚步,不断地演化出新的变化。(以上名词:SQL注入、XSS跨站、CSRF跨站伪请求伪造等,不明白意思没关系,先熟悉个名词吧,知道它们是WEB应用安全的重要敌人就行,后面慢慢讲解他们具体是什么,有什么危害,怎么防范)

js 点击事件,出现背景颜色

用CSS:focus选择器 单单这样子还不行,得使用tabindex,让元素能够获取焦点。 示例代码: html <div> <ul> <li style="float:left;" class="navList" tabindex="1">首页li> <li style="float:left;" class="navList" tabindex="2">航线展示li> <li style="float:left;" class="navList" tabindex="3">海域水域监测li> <li style="float:left;" class="navList" tabindex="4">海水质量控制li> <li style="float:left;" class="navList" tabindex="5">海洋灾害预警li> ul> div> CSS .navList:focus{ background: red; } 但我想让默认选中首页,这样使用focus伪类,我没弄出来,后来使用了jQuery的siblings()方法来实现此功能(siblings()方法返回被选元素的所有同胞元素)。 示例代码 html(在首页那添加默认的背景颜色) <div> <ul> <li style="float:left;background:red" class="navList">首页li> <li style="float:left;" class="navList" >航线展示li> <li style="float:left;" class="navList">海域水域监测li> <li style="float:left;" class="navList">海水质量控制li> <li style="float:left;" class="navList">海洋灾害预警li> ul> div> jQuery <script> $(document).ready(function(){ var navList=document.getElementsByClassName("navList"); for(let i=0;ifunction(){ this.style.backgroundColor = "red"; for (var i = 0; i < $(this).

ArcGIS 10.2中栅格数据的属性表问题

什么条件下我们能在ArcGIS中看到栅格数据的属性表呢? 网上的说法是:对于单波段的整型ESRI GRID数据,如果它的像元值范围小于10万(max-min<1000000),并且少于500条唯一值,那么软件会为它创建一个“真正”的属性表存储在INFO文件夹的grid.VAT表格中。对于不满足上述条件的单波段整型数据,VAT不会自动创建,但是ArcGIS会为其创建一个虚拟的属性表,我们在软件中使用的时候,感觉它和“真正”的属性表一样一样的。 对于浮点型的数据,它不仅不可能有“真正”属性表的,而且它建立虚拟属性表的条件也是相当苛刻的。ArcGIS为单波段浮点型栅格建立虚拟属性表的条件是:少于25条唯一值。 ArcGIS 10.2中提供了创建栅格数据属性表的工具,位于Data Management Tool→Raster→Build Raster Attribute Table 对于以上工具,ESRI给出的用法是: 1.如果要删除现有表并创建一个新表,可选中覆盖。将创建新的栅格属性表并删除原有表。 2.如果有一个现成的表并且未选中覆盖,则将更新该表。不会删除任何字段,但是表中的值将更改为最新值。 3.不能为 32 位浮点像素类型的栅格数据集构建栅格属性表。 如果使用不满足格式的数据,会提示错误信息:Only single band integer raster dataset is a valid input Python脚本为: import arcpy arcpy.BuildRasterAttributeTable_management(“c:/data/image.tif”, “Overwrite”)

前端-移动端h5常用属性

常用属性 Safari浏览器私有meta属性 UC浏览器私有meta属性 QQ浏览器私有meta属性 用了好久的apple的一些meta属性,突然想到怎么没看见像UC、QQ浏览器的,于是问了度娘,还真的是有。移动端设备主要是iOS和Android两类,从用户量来看,Safari、UC、QQ是较多的3款浏览器了,因此整理了下移动web开发常用和3种浏览器的私有meta属性。 1.常用属性 <meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0,minimum=1.0,user-scalable=no"> <meta name="format-detection" content="telephone=no, email=no"> ‘viewport’ 设置显示方式,一般适配移动设备用来避免缩放和影响体验的滚动条 width=device-width:宽度为设备宽度 initial-scale: 初始的缩放比例 (范围从>0到 10 ) minimum-scale: 允许用户缩放到的最小比例 maximum-scale: 允许用户缩放到的最大比例 user-scalable: 用户是否可以手动缩放 ‘format-detection’ 忽略页面对手机号、email的识别 telephone:yes|no email:yes|no 2.Safari浏览器私有meta属性 <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-title" content="APP name"> ‘apple-mobile-web-app-capable’ 隐藏浏览器的地址栏和toolbar,页面显示为全屏,不加此meta则默认显示地址栏和toolbar content:yes|no ‘apple-mobile-web-app-status-bar-style’ content:default|black| black-translucent,即白色、黑色、灰色半透明 ‘apple-mobile-web-app-title’ 添加到主屏后的标题 3.UC浏览器私有meta属性 来源于UC开发者中心的文档 <meta name="screen-orientation" content="landscape"> <meta name="full-screen" content="yes"> <meta name="browsermode" content="application"> <meta name="layoutmode" content="fitscreen"> <meta name="nightmode" content="disable"> <meta name="

【wannacry病毒之暗网】-如何访问”暗网”(慎入)

原文链接: http://www.cnblogs.com/x-poior/p/6868345.html 心里能力不强的人,请别看。 有些事情还是不要接触比较好, 社会最恶一面不是随随便便就能接触到的, 也不是你能理解的 你想要用暗网做什么是你考虑的一个问题 什么是暗网? 所谓的“暗网”,其英文原名叫作“Deep Web”,又称深层网络。 广泛意义上的“暗网”,指的是那些无法被搜索引擎收录内容的站点。也就是说,一切有着非公开访问机制的网站——比如1024,哈哈大家都懂得,甚至一个注册才能进入的小型BBS——都属于“暗网”的一部分;另外,由于搜索引擎对于网站内容的抓取通常都是通过追溯超链接来完成,有着相当多的页面因为没有任何超链接的指向,也处于搜索引擎的盲区,故而它们也被纳入“暗网”的范畴。与“暗网”对应的,是“明网”,也称表层网络(Surface Web),曾有学术机构统计过“暗网”与“明网”分别蕴含的数据比例,结果显示前者的数据存量百倍于后者,且增长速度更快。 提及的软件工具Tor,正是一枚货真价实的钥匙,持有这枚钥匙,就打开了一扇通往“暗网”世界的大门。 Tor(The Onion Router)或许不是网络匿名访问的唯一手段,但毫无疑问它是目前最流行、最受开发者欢迎的。 这个免费、开源的程序可以给网络流量进行三重加密,并将用户流量在世界各地的电脑终端里跳跃传递,这样就很难去追踪它的来源。大部分的Tor用户只把它作为一个匿名浏览网页的工具,不过实际上它潜力十足:Tor软件可以在操作系统后台运行,创建一个代理链接将用户连接到Tor网络。随着越来越多的软件甚至操作系统都开始允许用户选择通过Tor链接发送所有流量,这使得你几乎可以用任何类型的在线服务来掩盖自己的身份。 访问暗网的方法有很多种,目前最流行的则是Tor(The Onion Router洋葱网络),给大家来个示范 警告:仅供学习了解,千万别做犯法的事情!!!! tor下载地址:http://pan.baidu.com/s/1bpBdqc3 这是一个中文版,点击安装:一路安装完成打开: 这儿配置选择 都按照红色提示安装: 选择 继续; 几个都可以尝试一下 不选择代理 启动 打开tor浏览器: 等待一会儿链接 已成功打开 分享几个暗网导航页: http://thehiddenwiki.org/ 有点老了,感觉收录并不行 还有一个不错的: http://grams7enufi7jmdl.onion/ 第一感觉挺像Google 的 随便搜索一个敏感词:gun gun的搜索页面 随便点击一个 一个防ddos的页面,毕竟属于黑产,黑吃黑很正常,随意都要互相防着 进入了登录页面,我们随意注册一下 登陆 进去之后,我们进行一下搜索: 看一下搜索栏,呵呵哒了 drugs类 darker工具软件类 再说一次: 请勿违法!!!我也不会做违法的事!仅供学习了解!技术无罪! 看看刚才搜索到的gun: 0.023BTC可以购买,$9.82很廉价,不多提了。比特币是他们的主要货币,换算的话: 大约1BTC=2 678.2RMB. 不再具体了。。。大家见好就收 暗网 –或许说和血腥很暴力,但是很多或许是事实 比如大天朝的某些“运动”的真相,或者是某些领导人。 不做评价,我保持中立 对了以“onion”为后缀的域名定为暗网,普通浏览器是无法访问的,这就是暗网网址的一个特征。 也有人要说自己家网络别人也访问不到,算不算暗网? 不好意思,你那只能算得上局域网 文/Fredia王瘦子(简书作者) 原文链接:http://www.jianshu.com/p/42dadf2cfad5 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 转载于:https://www.cnblogs.com/x-poior/p/6868345.html