• opencv实例二:缩放一张图片


    1、知识补充

    const char*, char const*, char*const的区别

    事实上这个概念谁都有只是三种声明方式非常相似:

    Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:

    把一个声明从右向左读。

    char * const cp; ( * 读成 pointer to ) cp is a const pointer to char

    const char * p; p is a pointer to const char;

    char const * p; 同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。

    C++标准规定,const关键字放在类型或变量名之前等价的。

    const int n=5; //same as below

    int const m=10

    结论:

    char * const cp     : 定义一个指向字符的指针常数,即const指针

    const char* p       : 定义一个指向字符常数的指针

    char const* p       : 等同于const char* p

     2、缩放一张图片

    1)代码如下:

     1 /***********************************************************************************
     2 开发环境:opencv3.0.0 + vs2012旗舰版;win7正式版32位
     3 功能描述:缩放图像文件
     4 作者信息:博乐Bar
     5 开发时间:20150909
     6 ***********************************************************************************/
     7 
     8 #include <opencv2/opencv.hpp>
     9 using namespace std;
    10 //隐藏控制台窗口
    11 #pragma comment(linker, "/subsystem:"windows" /entry:"mainCRTStartup"")
    12 int main()
    13 {
    14     const char *ImageName = "在路上.jpg";
    15     const char *SaveImageName = "在路上缩放图.jpg";
    16     const char *WindowsSrcTitle = "原图 (博乐Bar)";
    17     const char *WindowsDstTitle = "缩放图 (博乐Bar)";
    18     
    19     double fScale = 0.5;        //缩放倍数
    20     CvSize czSize;                //目标图像尺寸
    21     
    22     //从文件中读取图像  
    23     IplImage *pSrcImage = cvLoadImage(ImageName, CV_LOAD_IMAGE_UNCHANGED);
    24     IplImage *pDstImage = NULL;    
    25     
    26     //计算目标图像大小
    27     czSize.width = pSrcImage->width * fScale;
    28     czSize.height = pSrcImage->height * fScale;
    29     
    30     //创建图像并缩放
    31     pDstImage = cvCreateImage(czSize, pSrcImage->depth, pSrcImage->nChannels);
    32     cvResize(pSrcImage, pDstImage, CV_INTER_AREA);
    33     
    34     //创建窗口
    35     cvNamedWindow(WindowsSrcTitle, CV_WINDOW_AUTOSIZE);
    36     cvNamedWindow(WindowsDstTitle, CV_WINDOW_AUTOSIZE);
    37     
    38     //在指定窗口中显示图像
    39     cvShowImage(WindowsSrcTitle, pSrcImage);
    40     cvShowImage(WindowsDstTitle, pDstImage);
    41     
    42     //等待按键事件
    43     cvWaitKey();
    44     
    45     //保存图片
    46     cvSaveImage(SaveImageName, pDstImage);
    47     
    48     cvDestroyWindow(WindowsSrcTitle);
    49     cvDestroyWindow(WindowsDstTitle);
    50     cvReleaseImage(&pSrcImage);
    51     cvReleaseImage(&pDstImage);
    52     return 0;
    53 }
    View Code
  • 相关阅读:
    react 如何 阻止冒泡
    GitHub如何下载clone指定的tag
    git 建立一个私有模块
    如何获取域名(网址)对应的IP地址
    [翻译] JTCalendar
    将jsonModel转化为文件
    CALayer动画的暂停,恢复,以及结束时候的回调
    用标签页TitleSwitch切换不通的控制器
    设计可以多选的按钮ChooseManyButton
    设计标签选择器TitleSwitch
  • 原文地址:https://www.cnblogs.com/huanzxj/p/4797731.html
Copyright © 2020-2023  润新知