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;
    }
  • 相关阅读:
    网络CCNA基础了解
    KVM 安装 VMware 虚拟机
    [转载]JS浏览器兼容性问题
    java中数组是不是对象?
    [转载]request.getServletPath()方法
    weblogic下更改jsp不生效的解决办法
    java之args[0]
    docker小demo
    eclipse优化
    [转载]oracle建表语句大全
  • 原文地址:https://www.cnblogs.com/adong7639/p/4435852.html
Copyright © 2011-2022 走看看