OpenCV-Python 笔记
OpenCV Python 笔记
显示图片
1 | import cv2 |
显示图片(matplotlib)
默认情况下,OpenCV以BGR格式存储彩色图像。
1 | import cv2 |
显示灰度图
1 | import cv2 |
1 | import cv2 |
默认情况下,OpenCV以BGR格式存储彩色图像。
1 | import cv2 |
1 | import cv2 |
https://gitee.com/yjwx0017/ftpserver
命令连接负责传送命令,数据连接负责传送数据。
服务端启动后在21端口监听,接受客户端连接。
命令格式,例如:
1 | client --> server: USER username\r\n |
命令交互方式为:客户端发送一个命令,服务端返回响应(返回代码 + 描述)。
部分命令:
USER命令 指定用户名
PASS命令 指定密码
PORT命令 主动模式,服务端将连接到客户端提供的IP地址和端口(数据连接)
PASV命令 被动模式,服务端启动监听,接受客户端的连接(数据连接)
TYPE命令 指定二进制模式还是ASCII模式
CWD 命令 更改当前目录
CDUP命令 切换到上级目录
QUIT命令 断开连接
DELE命令 删除文件
RMD 命令 删除目录
MKD 命令 创建目录
PWD 命令 输出当前目录
RNFR命令 指定重命名的源(Rename From)
RNTO命令 指定重命名的目标(Rename To)
LIST命令 列出当前目录下的所有内容
NLST命令 列出当前目录下的所有内容(只包含名称)
RETR命令 下载文件(Retrieve)
STOR命令 上传文件(Store)
STOU命令 上传文件(不覆盖重名文件, Store Unique)
APPE命令 上传文件(以附加的方式, Append)
REST命令 指定断点续传的位置(Restart)
FEAT命令 查询支持的扩展特性(比如 UTF8 )
OPTS命令 启用禁用某特性(比如 OPTS UTF8 ON)
https://github.com/lapce/floem
响应性“信号”允许您以最小的努力保持UI最新,同时保持非常高的性能。
1 | use floem::reactive::create_signal; |
RefCell
box 允许你将一个值放在堆上而不是栈上。留在栈上的则是指向堆数据的指针。
1 | fn main() { |
举例,使用box实现一个递归类型:
1 | enum List { |
Box
1 | fn main() { |
当 Box
vector 允许我们在一个单独的数据结构中储存多个值,所有值在内存中彼此相邻排列。vector 只能储存相同类型的值。
1 | let v: Vec<i32> = Vec::new(); |
使用初始值来创建一个Vec:
1 | // Rust 可以推断出 v 的类型是 Vec<i32>,因此类型标注就不是必须的。 |
遍历 vector 中的元素:
1 | let v = vec![100, 32, 57]; |
Rust 文件通常以 .rs 扩展名结尾。
1 | fn main() { |
编译并运行:
1 | > rustc main.rs |
其他命令:
1 | rustup update # 更新 |
Cargo 是 Rust 的构建系统和包管理工具。
常用命令:
1 | cargo new hello_cargo # 创建项目 |
如何使用 Certbot 命令列工具建立免費的 TLS/SSL 頂層網域憑證
1 | apt install certbot |
1 | certbot certonly --manual --preferred-challenges http -m youremail@example.com -d www.zhouyuanchao.com |
根据提示在网站服务器指定目录创建指定文件并包含指定内容,通过验证后会在本地生成证书相关文件:
以新网为例,要求上传三个文件:
动机:修改启动Logo
首先使用 binwalk 查看 initrd 文件的打包方式。
一种情况是整个文件是一个压缩文件,解压缩后是一个 cpio 归档文件。
另一种情况是文件分为两部分,开头是 cpio 归档文件,后面的部分是压缩文件(解压后也是 cpio 归档文件)。
压缩和解压缩根据压缩算法的类型使用相应的命令,此处以 lz4 为例。
1 | mkdir initrd_output |
使用 binwalk initrd.img
查看两部分内容的边界:
本例中压缩文件的偏移值为 6906880 。
1 | mkdir initrd_output |