图像处理(6)开运算与闭运算
1234import numpy as npimport cv2 as cvimport matplotlib.pyplot as pltimport ipykernel
12345678#开运算:先腐蚀,再膨胀。img = cv.imread('def.jpg', 1)kernel = np.ones((5, 5), np.uint8)opening = cv.morphologyEx(img, cv.MORPH_OPEN, kernel)#此处只需要一个开运算函数,即可代表刚才两个过程cv.imshow('opening', opening)cv.waitKey(0)cv.destroyAllWindows()
12345678#闭运算:先膨胀,再腐蚀。img = cv.imread('def.jpg', 1)kernel = np.ones((5, 5), np.uint8)closing = cv.morphologyEx(img, cv.MORPH_CLOSE, kernel)#此处只需要一个闭运算函数,即可代表刚才 ...
图像处理(9)sobel高级梯度计算
12345import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltimport ipykernelfrom IPython.display import Latex
我们来看一下矩阵\begin{equation*} G_x(x) =\begin{bmatrix}-1 & 0 & +1 \-2 & 0 & +2 \-1 & 0 & +1\end{bmatrix}
A\end{equation*}下角标x表示横向梯度计算,矩阵右边为正表示右边的值减去左边的值,得到我们认为是梯度。
\begin{equation*} G_y(x) = \begin{bmatrix} +1 & +2 & -1 \ 0 & 0 & 0 \ -1 & -2 & -1\end{bmatrix}
A\end{equation*}y方向梯度同理,可以看出上下的像素变化。
12345img = cv.imread(&qu ...
Latex数学符号大全
Greek letters
\alpha A
\nu N
\beta B
\xi \Xi
\gamma \Gamma
o O
\delta \Delta
\pi \Pi
\epsilon \varepsilon E
\rho \varrho P
\zeta Z
\sigma \Sigma
\eta H
\tau T
\theta \vartheta \Theta
\upsilon \Upsilon
\iota I
\phi \varphi \Phi
\kappa K
\chi X
\lambda \Lambda
\psi \Psi
\mu M
\omega \Omega
Arrows
\leftarrow
\Leftarrow
\rightarrow
\Rightarrow
\leftrightarrow
\rightleftharpoons
\uparrow
\downarrow
\Uparrow
\Downarr ...
nginx文件存放目录
nginx的文件存放目录
配置文件存放目录:/etc/nginx
主配置文件:/etc/nginx/conf/nginx.conf
管理脚本:/usr/lib64/systemd/system/nginx.service
模块:/usr/lisb64/nginx/modules
应用程序:/usr/sbin/nginx
程序默认存放位置:/usr/share/nginx/html
日志默认存放位置:/var/log/nginx
配置文件目录为:/usr/local/nginx/conf/nginx.conf
lab-5-验证文件签名,检测文件完整性以及openssl部分使用
SHA256sum系列命令检测文件完整性1sha256sum file即可计算文件哈希
下面收到文件哈希之后来检验
1echo "sha256哈希 文件名" | sha256sum --check
如果不匹配则会显示mot match
如果哈希值存在于文件中,可以如下命令
1echo "$(cat 哈希值文件名) 待比较的文件" | sha256 --check
验证文件私钥签名我们使用gpg工具,安装之后在命令行
12gpg --verify filename.asc filenamegpg --verify filename.sig filename
两种格式均可,第一种文件之中就已经包含公钥,第二种我们要先导入公钥,用以下命令
1gpg --import public.asc
然后再验证。
下面是一个破解hash的好用的网站
https://hashes.com/en/decrypt/hash
openssl使用首先我们要注意,crt和pem后缀通常代表公钥,key和pem后缀通常代表私钥,这里也就是说pem后缀既可以是公钥也可以是私钥。
...
汇编语言学习(五):栈
3.6-3.7栈的规则是LIFO(last in first out)
也就是先进去的就到了栈底,最后放进去的就在表面上,最后放进去的可以最先拿出来。
8086提供入栈和出栈指令,PUSH和POP
以-我们的一段内存可以以栈的方式来访问。执行的时候
12mov ax,0123push ax
即将寄存器里的数据放到栈中,因为是字型数据,占高八位和第八位,栈底对应的是高地址位,所以把高位01先入栈,到栈底。
向上堆叠时
12mov bx,2266push bx
会以同样形式向上走一个字型内存。
出栈时用pop先从栈顶出
123456pop ax执行后:ax = 1122,出栈入寄存器的意思。然后我们再将剩下两个栈单元也出来,赋值给bx寄存器pop bx,执行后bx=2266
字型数据用两个单元存放,高地址存放高八位,反之亦然。
CPU如何找到栈顶?
有相应的寄存器来存放栈顶的地址,段寄存器SS和寄存器SP,栈的段地址放在SS中,偏移地址放在SP中。任意时刻,SS:SP指向栈顶元素。push和pop执行时,CPU从SS:SP获得栈顶地址。
当前属性
12345678910SS=1000 ...
python实现http代理
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162import socketimport threadingimport requestsclass Proxy: # 初始化代理配置 def __init__(self): # 用来连接服务器 self.buffsize = 4096; self.clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM); self.clientSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1); # 用来等待客户端连接 self.clientSocket.bind(("0.0.0.0", 11111)); sel ...
汇编语言学习(四):寄存器(栈之前)
第三章:寄存器(部分加实验)3.1字的存储方式
如图所示,最左端的数字是IP的缩写,应该为0000,0001H等,每一个小格都是一个内存单元,存储两个16进制数,也就相当于一个字节,相当于8bit.
CPU中用16位寄存器存储一个字,也就是两个八位,就是两个小格的意思。前两个小格是4E20H,就可以看作一个起始为0的字单元。低位存在0号单元,高位存在1号单元。,后面也是如此。
字的定义:字单元,即存放一个字型数据(16位的内存单元),由两个地址连续的内存单元组成。高地址位存放高位字节,低地址内存存放低位字节。
3.2 DS寄存器和[address]
DS表示一个寄存器,专门用来存放要访问的数据的段地址。比如要读取10000H地址的内容,首先由CS:IP分解,可以知道可以简单分解成:1000:0
我们将1000H赋值给BX,将BX赋值给DS就完成了对段地址的传输。DS一般表示成数组形式,第三行的[0]就表示要访问的IP。也就是0
合起来就是10000H,为什么不直接把1000H传给DS呢?
1在8086CPU中,DS寄存器不能直接接收数据!
8086是16位的CPU可一次性完成16位传送 ...
scapy命令
1sniff(filter='arp',prn=lambda x:x.summary(), count=10)
可以输出抓包固定协议的数据包
1data = sniff(filter='not icmp',prn=lambda x:x.summary(),count=10)
可以通过
12data[0]来查看数据包详细信息#也可以通过data[0].show()
hardware type(HTPYE)为0x0001的时候,表示Ethernet
protocol type(PTPYE)为0x0800的时候,表示IPv4
hardware length (HLEN)为0x06的时候,表示MAC地址长度为6byte
protocol length(PLEN)为0x04的时候,表示IP地址长度为4byte
ARP包有request和response之分,request包的OPER(Opcode)位为0x0001 (也就是这里的who has), response包的OPER位为0x0002。
最后的payload位(padding)即为我们自己定制的 ...
PHP学习(3):循环与超全局变量
上次学习了常量constant
这次先复习一下运算符
强相等必须是类型和内容都相等,弱相等只需要有同样的键值对
12345<?php$x = array("a" => "red", "b" => "green");$y = array("c" => "blue", "d" => "yellow");var_dump($x == $y);?>
也就是键值对相同,内容的类型可以不相同,比如一个字符串一个数字。
下面看三目运算符:
1234567<?phpecho $status = (empty($user)) ? "anonymous" : "logged in";echo ("<br>");$user = "John";echo $status = (empty($user)) ? " ...