赞
踩
此篇文章是关于图像降采样的实现,侧重点是为了详细阐述降采样的实现,而无关乎优化,代码基于OpenCV 3.2.0&&C++实现。降采样算法主要采用高斯卷积实现,卷积核采用一维卷积核:double w[5] = {1.0/4 - a/2.0, 1.0/4, a, 1.0/4, 1.0/4 - a/2.0}, 取a = 0.6,降采样主题思想如下图所示(图像从UCF大学计算机视觉课件上截取):
以下是代码实现:
void myPyrDown(Mat img, Mat &dst)
{
// 降采样高斯权重
double a = 0.6;
double w[5] = {
1.0/4 - a/2.0, 1.0/4, a, 1.0/4, 1.0/4 - a/2.0};// 这里面double类型需要1.0/4而不是1/4,我有时会疏忽这一点
// 转换图像数据类型
Mat src = img.clone();
src.convertTo(src, CV_64FC1);
// 定义目标矩阵,矩阵行列数减半向上取整(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。