opencv图像金字塔,上采样与降采样,高斯不同
图像金字塔
**
一系列图像组成的金字塔,上面的图像小,下面的图像大
高斯金字塔:用来对图像降采样
拉普拉斯金字塔:根据上层采样图片重建一张图
API
**
上采样 cv::pyrUp --------zoom in放大
降采样 cv::pyrDown ------zoom out缩小
pyrUp(src,dst,Size(src.cols*2,src.rows*2))`
生成的图像放大四倍
pyrDown(src,dst,Size(src.cols/2,src.rows/2))
生成的图像缩小四倍
**
高斯不同
Difference of Gaussian
**
就是把同一张图像在不同的参数下做高斯模糊之后的结果相减,得到的输出图像。称为高斯不同(DOG)
高斯不同是图像的内在特征,在灰度图像增强、角点检测中经常用到。
可用于特征提取
DOG代码实行
GaussianBlur(src,g1,Size(3,3),0,0);
GaussianBlur(g1,g2,Size(3,3),0,0);
subtract(g1,g2,dogimage,Mat());
normalize(dogimage,dogimage,255,0,NORM_MINMAX);
图像基本运算之—相减
subtract(InputArray src1, InputArray src2, OutputArray dst,
~~InputArray mask=noArray(), int dtype=-1~~ );
比如
subtract(g1,g2,dst);
矩阵归一化normalize
归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内,分为范围归一化与数据值归一化:
函数原型
void cv::normalize(InputArry src,InputOutputArray dst,double alpha=1,double beta=0,int norm_type=NORM_L2,int dtype=-1,InputArray mark=noArry())
参数说明:
alpha : 1,用来规范值,或者规范范围,并且是下限
beta : 只用来规范范围并且是上限;
norm_type : 归一化选择的数学公式类型;
dtype : 当为负,输出的大小深度通道数都等于输入,当为正,
输出只在深 度与输入不同,不同的地方由dtype决定;
mark : 掩码。选择感兴趣区域,选定后只能对该区域进行操作。
normal_type有以下几种
NORM_L1,NORM_INF,NORM_L2,NORM_MINMAX(有用)