双三次插值

/**------------------------------------------------------------------**/
/**描述:包含程序所依赖的头文件**/
/**------------------------------------------------------------------**/
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <string>
/**------------------------------------------------------------------**/
/**描述:程序所用的命名空间**/
/**------------------------------------------------------------------**/
using namespace cv;
using namespace std;
/**------------------------------------------------------------------**/
/**描述:系统全局常量**/
/**------------------------------------------------------------------**/
//目标图片的文件名,需要放置在工程目录下
const string TagrImg = "Angelababy.jpeg";
//定义窗口标题
const char SrcWinNa[] = "SrcWindow";
const char GryWinNa[] = "GryWindow";
const char ResWinNa[] = "ResWindow";
/**------------------------------------------------------------------**/
/**描述:系统全局变量**/
/**------------------------------------------------------------------**/
//放缩倍数
double scale=0.4;

int main(int argc, char **argv)
{
    /**原图像的读取及显示-----------------------------------------------**/
    //读取图片
    Mat SrcImg = imread(TagrImg);
    //检查是否读取成功
    if(!SrcImg.data)
    {
        cout<<"读取失败,程序流产"<<endl;
        cout<<"请检查工程目录下是否存在"<<TagrImg<<endl;
        return -1;
    }
    //创建窗口显示原图像
    cvNamedWindow(SrcWinNa, CV_WINDOW_AUTOSIZE);
    imshow(SrcWinNa, SrcImg);
    
    /**图片缩放及显示--------------------------------------------------**/
    //设置缩放后的图片的尺寸
    Size ResImgSiz = Size(SrcImg.cols*scale, SrcImg.rows*scale);
    Mat ResImg = Mat(ResImgSiz, SrcImg.type());
    resize(SrcImg, ResImg, ResImgSiz, CV_INTER_CUBIC);
    //创建窗口用于显示缩放后的图像
    cvNamedWindow(ResWinNa, CV_WINDOW_AUTOSIZE);
    imshow(ResWinNa, ResImg);
    cvWaitKey(0);
    return 1;
}
View Code

cv::imread

OpenCV学习笔记与源码分析: imread( )函数_Linux编程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2013-09/90258.htm

OpenCV中C++函数imread读取图片的问题 - J_Outsider - 博客园 https://www.cnblogs.com/eyeszjwang/articles/2418354.html

【Opencv】读图像文件imread - CSDN博客 https://blog.csdn.net/tjylv/article/details/50728520

cv::resize函数

OpenCV中使用cvResize函数或resize函数进行图象放缩 - 靑い鳥 - 博客园 https://www.cnblogs.com/tcysky/p/6215784.html

OpenCV中resize函数五种插值算法的实现过程 - CSDN博客 https://blog.csdn.net/fengbingchun/article/details/17335477

双三次插值(bicubic interpolation)原理及MATLAB源码实现_百度文库 https://wenku.baidu.com/view/34dea625192e45361166f504.html

OpenCV 图像插值计算(双线性插值/双三次插值) - CSDN博客 https://blog.csdn.net/kewei9/article/details/74904650

原文地址:https://www.cnblogs.com/wxl845235800/p/8764318.html