1 blur()
功能:使用滑动窗口将图片模糊化处理.
参数描述
序号 | 参数 | 描述 |
---|---|---|
1 | src | 输入图像,任何通道的数据,深度必须满足CV_8U,CV_16U,CV_16S,CV_32F,CV_64F |
2 | dst | 输出图像,尺寸和类型与源图像一致 |
3 | ksize | 模糊处理的滑动窗口尺寸 |
4 | anchor | 锚点,默认点(-1,-1)是滑动窗口的中心 |
5 | borderType | 边框模式使用向图像外部外推像素的方法 |
平滑函数滑动窗口:
K
=
1
k
s
i
z
e
.
w
i
d
t
h
∗
k
s
i
z
e
.
h
e
i
g
h
t
=
[
1
1
1
.
.
.
1
1
1
1
1
.
.
.
1
1
.
.
.
1
1
1
.
.
.
1
1
]
K=\frac{1}{ksize.width*ksize.height}=\begin{bmatrix} 1&1& &1&...&1&1 \\1&1& &1&...&1&1 \\ ... \\ 1&1& &1&...&1&1\end{bmatrix}
K=ksize.width∗ksize.height1=⎣⎢⎢⎡11...1111111.........111111⎦⎥⎥⎤
2 GaussianBlur()
功能:高斯模糊处理.
参数描述
序号 | 参数 | 描述 |
---|---|---|
1 | src | 输入图像,任何通道的数据,深度必须满足CV_8U,CV_16U,CV_16S,CV_32F,CV_64F |
2 | dst | 输出图像,尺寸和类型与源图像一致 |
3 | ksize | 高斯滑动窗口(核)尺寸.宽和高可不同,但必须是正数和奇数,或为0,也可从sigma中计算得到 |
4 | sigmaX | X方向的高斯核标准差 |
5 | sigmaY | Y方向高斯核标准差,如果sigmaY为0,则设定与sigmaX相同,如果两者均为0,分别从核宽,核高计算获取 |
6 | borderType | 像素外推方法 |
3 dilate()
功能:使用特定元素结构扩充(膨胀)图像.
参数描述
序号 | 参数 | 描述 |
---|---|---|
1 | src | 输入图像,任何通道的数据,深度必须满足CV_8U,CV_16U,CV_16S,CV_32F,CV_64F |
2 | dst | 输出图像,尺寸和类型与源图像一致 |
3 | kernel | 用于扩充的结构单元,如果单元为矩阵,3 × \times × 3的结构单元即可使用,核可使用getStructuringElement创建 |
4 | anchor | 含有锚点结构的位置,默认值为(-1,-1),是结构中心 |
5 | iterations | 扩充的次数 |
6 | borderType | 像素外推方法 |
7 | borderValue | 边框为常量是的边框值 |
计算方式:
d
s
t
(
x
,
y
)
=
m
a
x
(
x
′
,
y
′
)
:
e
l
e
m
e
n
t
(
x
′
,
y
′
)
≠
0
s
r
c
(
x
+
x
′
,
y
+
y
′
)
dst(x,y)=max_{(x',y'):element(x',y')\not=0}src(x+x', y+y')
dst(x,y)=max(x′,y′):element(x′,y′)=0src(x+x′,y+y′)
4 Sobel()
功能:使用扩展Sboel运算符计算第一,第二第三或混合图像导数.
参数描述
序号 | 参数 | 描述 |
---|---|---|
1 | src | 输入图像,任何通道的数据,深度必须满足CV_8U,CV_16U,CV_16S,CV_32F,CV_64F |
2 | dst | 输出图像,尺寸和类型与源图像一致 |
3 | ddepth | 输出图像的深度,若为8位图像会导致截断导数 |
4 | dx | x方向导数 |
5 | dy | y方向导数 |
6 | ksize | 扩展Sobel核窗口尺寸,值必须为1,3,5或7 |
7 | scale | 计算导数可选的比例因子,默认无因子 |
8 | delta | 输出结果前可选择的增量 |
9 | borderType | 像素外推方法 |
计算方式:
d
s
t
=
φ
x
o
r
d
e
r
+
y
o
r
d
e
r
s
r
c
φ
x
x
o
r
d
e
r
φ
y
y
o
r
d
e
r
dst=\frac{\varphi^{xorder+yorder}src}{\varphi{x^{xorder}}\varphi{y^{yorder}}}
dst=φxxorderφyyorderφxorder+yordersrc
其中,
φ
表
示
求
偏
导
\varphi 表示求偏导
φ表示求偏导
Demo
xorder=1,yorder=0,ksize=0对应的核:
[
−
1
0
1
−
2
0
2
−
1
0
1
]
\begin{bmatrix}-1 & 0& 1\\ -2&0&2\\ -1&0&1\end{bmatrix}
⎣⎡−1−2−1000121⎦⎤
xorder=0,yorder=1,ksize=0对应的核:
[
−
1
−
2
−
1
0
0
0
1
2
1
]
\begin{bmatrix}-1&-2&-1\\ 0&0&0\\1&2&1\end{bmatrix}
⎣⎡−101−202−101⎦⎤
5 distanceTransform()
功能:计算原图像每个像素到距离自身最近零点的距离;.
参数描述
序号 | 参数 | 描述 |
---|---|---|
1 | src | 输入图像,单通道 |
2 | dst | 输出计算距离,与原图像同尺寸的8位或32位浮点型,单通道图像 |
3 | labels | 输出2维的标签数组 |
4 | distanceType | 距离类型 |
5 | maskSize | 距离变换覆盖的尺寸,该向量不支持DIST_MASK_PRECISE,DIST_L1或DIST_C距离类型和参数强制为3,因为3 × \times × 3的掩模的结果与5 × \times × 5或更大的光圈相同 |
6 | labelType | 建立标签数组的尺寸 |
序号 | 参数 | 取值 |
---|---|---|
1 | DIST_L1 | a=1, b=2 |
2 | DIST_L2 | 3 × \times × 3 a=0.995, b=1.3693; 5 × \times × 5 a=1,b=1.4, c=2.1969 |
3 | DIST_C | a=1,b=1 |