二值图像指的就是只有黑与白两种颜色的图像,其中 0 表示黑色, 1 表示白色(也就是255)。
图像的二值化的一般过程是,首先将输入图像转换为灰度图,然后通过二值化方法转换为二值图像。这个过程本质上就是对数据的二分类分割,寻找合理的分割阈值至关重要。
示例
import cv2
import numpy as np
image = cv2.imread('lenna.png')
cv2.imsh……继续阅读 »
迷途小书童
2年前 (2022-07-16) 1050浏览 0评论
0个赞
在仿射变换中,比如 resize 其实已经用到了插值 interpolation。一个图片从 100×100 放大到 200*200 的时候,就会产生新的像素点(下图中的红色点),新的像素点值是多少,这就是插值要做的事情。
OpenCV 4.x 版本支持的插值算法有很多,如下图
这里仅列出常用的几种
cv2.INTER_LINEAR:双线形插值法,默认值
cv2.INTER_NEAREST:最近邻插值法,找到与……继续阅读 »
迷途小书童
2年前 (2022-07-16) 1176浏览 0评论
0个赞
归一化就是把数据经过处理后限制在某个特定范围内。归一化的目的,是将没有可比性的数据变得具有可比性,同时又保持着之间的相对关系。
opencv 中使用 normalize 方法来实现归一化,它的函数原型如下
cv2.normalize(src, dst, alpha=None, beta=None, norm_type=None, dtype=None, mask=None)
其中:
src: 输入矩阵
dst: 输……继续阅读 »
迷途小书童
2年前 (2022-07-16) 1081浏览 0评论
0个赞
图像的旋转和图像的平移非常相似,也是使用 cv2.warpAffine 来实现的。其中的转换矩阵,需要先通过 cv2.getRotationMatrix2D 函数得到,它的函数原型是
cv2.getRotationMatrix2D(center, angle, scale)
其中
center 旋转中心点坐标
angle 旋转的角度,单位是角度,正数代表逆时针方向,负数代表顺时针方向
scale 缩放倍数
该函数……继续阅读 »
迷途小书童
2年前 (2022-07-09) 1481浏览 0评论
0个赞
平移就是矩阵的移动,通常,我们需要定义一个 变换矩阵,这是一个2行3列的矩阵
矩阵中的 tx 和 ty 分别代表 x 方向和 y 方向上平移的距离
平移是使用放射变换函数 cv2.warpAffine 来实现的,它的函数原型是
cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]])
其中
src 输入图像
M2行3列变换……继续阅读 »
迷途小书童
2年前 (2022-07-09) 1130浏览 0评论
0个赞
LUT 即 Look Up Table 查找表,它是一种 像素值映射表,主要是用来增强图像的对比度。
由上图中可以看到
原图中像素值为40的像素,经过查找表映射后值变为90
原图中像素值为30的像素,经过查找表映射后值变为10
经过变换后,就会得到一张对比度变高的图像。
OpenCV 中 applyColorMap(src, dst, COLORMAP) 可以实现图像的彩色变换
其中参数:
src 表示输入图……继续阅读 »
迷途小书童
2年前 (2022-07-09) 1072浏览 0评论
0个赞
startx 命令是用于启动 X Windows 系统。X Windows 也被称为 X 或 X11,主要工作就是以图形方式来显示,如今流行的的 GNOME 和 KDE 桌面环境都是以 X Windows 系统为基础的。
语法格式:startx [参数]
常用参数:
示例
# 启动X
startx
……继续阅读 »
迷途小书童
2年前 (2022-07-07) 817浏览 0评论
0个赞
curl 是一个文件传输工具,可以上传也可以下载,支持 HTTP、HTTPS、FTP 等市面上常见的协议。后端开发者经常用它来测试 web 接口。
语法格式:chroot [参数]
常用参数:
示例
# 获取网站源码
curl https://xugaoxiang.com
# 下载文件
curl -O https://xugaoxiang.com/download/test.jpg
# post上传文件
cur……继续阅读 »
迷途小书童
2年前 (2022-07-07) 836浏览 0评论
0个赞
chroot 命令用于改变根目录,系统默认根目录是 /。一个正在运行的进程经过 chroot 操作后,其根目录将被显式映射为某个指定目录,它将不能够对该指定目录之外的文件进行访问。执行 chroot 需要 root 权限。
语法格式:chroot [参数]
常用参数:
示例
# 改变根目录为/mnt/test
sudo chroot /mnt/test
# 改变根目录并执行相应命令,前提是在新目录下有这些命令
s……继续阅读 »
迷途小书童
2年前 (2022-07-06) 1067浏览 0评论
0个赞
last 命令用于显示用户的登录情况。
语法格式:last [参数]
常用参数:
示例
last
……继续阅读 »
迷途小书童
2年前 (2022-07-05) 780浏览 0评论
0个赞
lspci 命令用于显示 PCI 总线设备信息
语法格式:lspci [参数]
常用参数:
示例
# 列出当前主机的所有PCI总线设备信息
lspci
……继续阅读 »
迷途小书童
2年前 (2022-07-04) 1118浏览 0评论
0个赞
sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些只有 root 才能执行的操作,而不需要知道 root 的密码。默认的配置存放在 /etc/sudoers 文件中。
语法格式:sudo [参数]
常用参数:
示例
# 切换到root
sudo su
# 列出目前的权限
sudo -l
# 以root权限执行命令ifconfig -a
sudo ifconfig -a
……继续阅读 »
迷途小书童
2年前 (2022-06-26) 1140浏览 0评论
0个赞
sort 命令会将文件进行排序,并将排序结果输出。sort 命令既可以操作文件,也可以从 stdin 标准输入中获取。
语法格式:sort [参数] [文件]
常用参数:
示例
# 读取文件test.py的每一行,相互比较,依次ASCII码值进行比较,按升序输出
sort test.py
# 忽略相同行
sort -u test.py
……继续阅读 »
迷途小书童
2年前 (2022-06-26) 1078浏览 0评论
0个赞
ldd 命令用于打印程序或者库文件所依赖的库
语法格式: ldd [参数] [文件]
常用参数:
示例
ldd /bin/ls
……继续阅读 »
迷途小书童
2年前 (2022-06-26) 964浏览 0评论
0个赞
diff 命令以逐行的方式,比较文本文件的异同。如果指定的是文件夹,则 diff 只会比较目录中相同文件名的文件,但不会去比较其中的子目录。
语法格式:diff [参数] [目录]
常用参数:
示例
diff test1.py test2.py
其中, "<" 表示 test2.py 比 test1.py 少了一行内容,">" 表示 test2.py 比 tes……继续阅读 »
迷途小书童
2年前 (2022-06-26) 798浏览 0评论
0个赞
dhclient 命令是使用 DHCP 协议来配置网络接口的网络参数。
语法格式:dhclient [参数] [网络接口]
常用参数:
示例
# 在指定网口上请求dhcp
dhclient eth0
# 释放ip
dhclient -r
……继续阅读 »
迷途小书童
2年前 (2022-06-26) 880浏览 0评论
0个赞
Linux 对于每个用户,系统可以限制其使用的最大进程数,这个命令就是 ulimit。
语法格式:ulimit [参数]
常用参数:
示例
# 显示当前系统的设置
ulimit -a
# 设置每个进程可以打开的文件句柄数
ulimit -n 4096
……继续阅读 »
迷途小书童
2年前 (2022-06-23) 981浏览 0评论
0个赞
insmod 命令用于将给定的模块加载到内核中。加载后的模块通过 lsmod 可以查看。
语法格式:insmod [参数]
常用参数:
示例
# 加载模块test.ko
insmod test.ko
……继续阅读 »
迷途小书童
2年前 (2022-06-23) 881浏览 0评论
0个赞