一般图像转换

Posted on 2020-05-27 16:50  金色的省略号  阅读(110)  评论(0编辑  收藏  举报

  通常,可以表示为卷积的变化是局部的,这意味着即使它们可能改变整个图像,对任何特定元素的影响也仅由其周围的少量像素确定

  一、拉伸,缩小,变形,旋转

  均匀调整

  图像的增大或缩小可以使用相同的函数 cv::resize() 来实现 

    void cv::resize(
        cv::InputArray src, // Input image
        cv::OutputArray dst, // Result image
        cv::Size dsize, // New size
        double fx = 0, // x-rescale
        double fy = 0, // y-rescale
        int interpolation = CV::INTER_LINEAR // interpolation method
    );

  图像金字塔

  图像金字塔是图像的集合,它由单个原始图像产生,连续降采样,直到达到一些期望的停止点,此停止点可能是单 像素 图像 ,从其前身产生每个金字塔阶段的方法 cv::pyrDown()

    void cv::pyrDown(
        cv::InputArray src, // Input image
        cv::OutputArray dst, // Result image
        const cv::Size& dstsize = cv::Size() // Output image size
    );

  你有一个图像,并希望构建一系列的新图像,每个都从其前身缩减,函数 cv::buildPyramid()  在单个调用中为你创建一个图像堆栈

    void cv::buildPyramid(
        cv::InputArray src, // Input image
        cv::OutputArrayOfArrays dst, // Output images from pyramid
        int maxlevel // Number of pyramid levels
    );

  cv::pyrUp() ,将现有的图像转换为每个方向两倍大的图像,首先将图像的大小 增加到每个维度的原始值的两倍,新的偶数行填充0

    void cv::pyrUp(
        cv::InputArray src, // Input image
        cv::OutputArray dst, // Result image
        const cv::Size& dstsize = cv::Size() // Output image size
    );

  非均匀映射

  仿射变换

  透视变换

  二、通用变换 (General Remappings)

  三、图像修复

  四、直方图均衡化