上采样与下采样

#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;

Mat src, dst,dst2;

//膨胀腐蚀的应用:消除噪声
int main()
{
    //原图
    src = imread(".//pic//kate.png", IMREAD_UNCHANGED);

    char* INPUT_WIN = "input image";
    namedWindow(INPUT_WIN, CV_WINDOW_AUTOSIZE);
    imshow(INPUT_WIN, src);

    //上采样
    pyrUp(src, dst, Size(src.cols * 2, src.rows * 2));
    imshow("sample up", dst);

    //降采样
    Mat s_down;
    pyrDown(src, s_down, Size(src.cols / 2, src.rows / 2));
    imshow("sample down", s_down);

    Mat g1, g2,gray_src;
    cvtColor(src, gray_src, CV_BGR2GRAY);
    GaussianBlur(gray_src, g1, Size(3, 3), 0, 0);
    imshow("g1", g1);
    GaussianBlur(g1, g2, Size(3, 3), 0);
    imshow("g2", g2);
    subtract(g1, g2, dst2, Mat());

    //归一化显示
    normalize(dst2, dst2, 255, 0, NORM_MINMAX);
    imshow("res", dst2);

    waitKey(0);
    return 0;
}

原文地址:https://www.cnblogs.com/xiaochi/p/12002695.html

时间: 2024-07-31 21:16:57

上采样与下采样的相关文章

图像上采样和图像下采样

#1. 图像下采样和上采样的概念#无论是图像的上采样还是下采样都可以使用matlab中的imresize函数来实现,而这些操作在使用到图像金字塔的算法中,必然是不可或缺的操作步骤.需要指出的是,当我们对一幅图像先下采样再上采样回原尺寸,得到的结果就是原图像的低频成分了.下面简要介绍2者的概念. 1.1 图像下采样 图像下采样(subsampled)可以通俗地理解成缩小图像,又称为降采样(downsampled).其目的有两个:1)使得图像符合显示区域的大小:2)生成对应图像的缩略图.##1.2

非下采样Contourlet(NSCT)变换

顾名思义,NSCT变换核心是Contourlet,即关于边缘的变换. 所谓非下采样是基于频域的,根据个人理解,这就相当于,对某一图像而言,首先设定一个频率阈值,然后通过滤波器筛选出大于等于这个阈值频率的图像(当然这不是一次性得筛选过程,而是迭代使用非下采样二通道带通滤波器的过程),具体过程见下面的图1. 这时,如果对空域.频域.时域不太了解的话,就又是一团浆糊.关于这三个概念可以参照<图像处理与识别学习小结><数字图像处理3--空间域,时域,频域的理解>两篇博文. 再说回NSCT变

隼鸟2号满载而归,人类首次在小行星上多次着陆采样!

2019 年 12 月 3 日,隼鸟 2 号正式开始启动离子发动机,马力全开返航地球,永远结束了它的"龙宫"探险. 而在短短一年半之前,这颗探测器才刚刚历时三年半时间,跋涉数十亿公里,抵达了这颗名叫"龙宫".直径只有约 900 米的小行星. <strong>Part.1</strong><strong> 时间真是过得太快了!</strong> 在 2018 年的下半年,隼鸟 2 号已经出色完成了多项科学考察,顺利投下了

VoxelGrid体素滤波器对点云进行下采样

使用体素化网格方法实现下采样,即减少点的数量,减少点云数据,并同时保持点云的形状特征,在提高配准.曲面重建.形状识别等算法速度中非常实用. PCL实现的VoxelGrid类通过输入的点云数据创建一个三维体素栅格(可把体素栅格想象为微小的空间三维立方体的集合),然后在每个体素(即,三维立方体)内,用体素中所有点的重心来近似显示体素中其他点,这样该体素就内所有点就用一个重心点最终表示,对于所有体素处理后得到过滤后的点云.这种方法比用体素中心来逼近的方法更慢,但它对于采样点对应曲面的表示更为准确. 所

批处理人脸检测区域的保存和下采样

花了一晚上时间,终于解决了检测到的人脸区域的保存和下采样,成果如下: 1.可以批处理一个文件夹下的所有图像: 2.利用opencv进行人脸的检测: 3.对检测到的人脸区域进行保存: 4.对人脸图像32*32的下采样保存. 源代码: #include "cv.h" #include "highgui.h" #include <stdio.h> using namespace cv; #include<iostream> #include<

狄拉克下采样

Dirac sampling.狄拉克下采样. <An edge-guided image interpolation algorithm via directional filtering and data fusion> The downsampling process considered in this paper, through which an LR image is generated from the corresponding HR image, is ideal Dirac

MCMC(三)MCMC采样和M-H采样

MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)MCMC采样和M-H采样 MCMC(四)Gibbs采样(待填坑) 在MCMC(二)马尔科夫链中我们讲到给定一个概率平稳分布$\pi$, 很难直接找到对应的马尔科夫链状态转移矩阵$P$.而只要解决这个问题,我们就可以找到一种通用的概率分布采样方法,进而用于蒙特卡罗模拟.本篇我们就讨论解决这个问题的办法:MCMC采样和它的易用版M-H采样. 1. 马尔科夫链的细致平稳条件 在解决从平稳分布$\pi$, 找到对应的马尔科夫链状态转移矩

图像的降采样与升采样(二维插值)----转自LOFTER-gengjiwen

图像的降采样与升采样(二维插值) 1.先说说这两个词的概念: 降采样,即是采样点数减少.对于一幅N*M的图像来说,如果降采样系数为k,则即是在原图中 每行每列每隔k个点取一个点组成一幅图像.降采样很容易实现. 升采样,也即插值.对于图像来说即是二维插值.如果升采样系数为k,即在原图n与n+1两点之间插入k-1个点,使其构成k分.二维插值即在每行插完之后对于每列也进行插值. 插值的方法分为很多种,一般主要从时域和频域两个角度考虑.对于时域插值,最为简单的是线性插值.除此之外,Hermite插值,样

SQL Server 查找统计信息的采样时间与采样比例

原文:SQL Server 查找统计信息的采样时间与采样比例 有时候我们会遇到,由于统计信息不准确导致优化器生成了一个错误的执行计划(或者这样表达:一个较差的执行计划),从而引起了系统性能问题.那么如果我们怀疑这个错误的执行计划是由于统计信息不准确引起的.那么我们如何判断统计信息不准确呢?当然首先得去查看实际执行计划中,统计信息的相关数据是否与实际情况有较大的出入,下面我们抛开这个大命题,仅仅从统计信息层面去查看统计信息的更新时间,统计信息的采样行数.采样比例等情况. 1:首先,我们要查查统计信