zoukankan      html  css  js  c++  java
  • 图像缩放_OpenCv

    图像缩放是一种比较简单的图像处理操作,这里给出opencv中的代码,

    opencv的版本C语言接口

    int resize_c()
    {
        const char *pstrImageName = "lena.jpg";
        const char *pstrSaveImageName = "lena缩放图.jpg";
        const char *pstrWindowsSrcTitle = "原图";
        const char *pstrWindowsDstTitle = "缩放图 ";
    
        double fScale = 0.8;        //缩放倍数
        CvSize czSize;                //目标图像尺寸
    
        //从文件中读取图像  
        IplImage *pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
        IplImage *pDstImage = NULL;    
    
        //计算目标图像大小
        czSize.width = pSrcImage->width * fScale;
        czSize.height = pSrcImage->height * fScale;
    
        //创建图像并缩放
        pDstImage = cvCreateImage(czSize, pSrcImage->depth, pSrcImage->nChannels);
        cvResize(pSrcImage, pDstImage, CV_INTER_AREA);
    
        //创建窗口
        cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
        cvNamedWindow(pstrWindowsDstTitle, CV_WINDOW_AUTOSIZE);
    
        //在指定窗口中显示图像
        cvShowImage(pstrWindowsSrcTitle, pSrcImage);
        cvShowImage(pstrWindowsDstTitle, pDstImage);
    
        //等待按键事件
        cvWaitKey();
    
        //保存图片
        cvSaveImage(pstrSaveImageName, pDstImage);
    
        cvDestroyWindow(pstrWindowsSrcTitle);
        cvDestroyWindow(pstrWindowsDstTitle);
        cvReleaseImage(&pSrcImage);
        cvReleaseImage(&pDstImage);
        return 0;
    }

    C++版本

    int resize_cpp()
    {
        string pstrImageName = "lena.jpg";
        string pstrSaveImageName = "lena缩放图.jpg";
        string pstrWindowsSrcTitle = "原图";
        string pstrWindowsDstTitle = "缩放图 ";
    
        double fScale = 0.8;        //缩放倍数
        Size czSize;                //目标图像尺寸
    
        //从文件中读取图像  
        Mat pSrcImage = imread(pstrImageName);
        
        //计算目标图像大小
        czSize.width = pSrcImage.cols * fScale;
        czSize.height = pSrcImage.rows * fScale;
    
        //创建图像并缩放
        Mat pDstImage  = Mat(czSize, CV_8UC3);
        resize(pSrcImage, pDstImage, czSize,CV_INTER_AREA);
    
        //创建窗口
        namedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
        namedWindow(pstrWindowsDstTitle, CV_WINDOW_AUTOSIZE);
    
        //在指定窗口中显示图像
        imshow(pstrWindowsSrcTitle, pSrcImage);
        imshow(pstrWindowsDstTitle, pDstImage);
    
        //等待按键事件
        waitKey();
        return 0;
    }
  • 相关阅读:
    企业网盘针对文件权限管理的技术实现
    学校私有云盘在学校信息化建设中的作用-教学资源库平台
    Mobox 知识管理平台助推市长质量奖
    为勇敢的华裔女子点赞
    一群喵星人把他家包围了。。
    【OI】简单的分块
    【OI】Kruskal & ufs (克鲁斯卡与并查集)
    【OI】向量&矩阵乘法
    【OI】同余方程
    【Ubuntu】某灯图标过大
  • 原文地址:https://www.cnblogs.com/adong7639/p/4435852.html
Copyright © 2011-2022 走看看