zoukankan      html  css  js  c++  java
  • OpenCV 金字塔图像缩放

     

     

    // image_pyramid.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <string>
    #include <iostream>
    using namespace std;
    
    #include "opencv2/imgproc/imgproc.hpp"
    #include "opencv2/highgui/highgui.hpp"
    #include <math.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    
    
    #pragma comment(lib,"opencv_core2410d.lib")  
    #pragma comment(lib,"opencv_highgui2410d.lib")  
    #pragma comment(lib,"opencv_imgproc2410d.lib")  
      
    
    using namespace cv;
    
    /// 全局变量
    Mat src, dst, tmp;
    char* window_name = "Pyramids Demo";
    
    
    /**
     * @函数 main
     */
    int main( int argc, char** argv )
    {
      /// 指示说明
      printf( "
     Zoom In-Out demo  
     " );
      printf( "------------------ 
    " );
      printf( " * [u] -> Zoom in  
    " );
      printf( " * [d] -> Zoom out 
    " );
      printf( " * [ESC] -> Close program 
     
    " );
    
      /// 测试图像 - 尺寸必须能被 2^{n} 整除
      string image_name;
      cout<<"input image name:"<<endl;
      cin>>image_name;
    
      src = imread( image_name);
      if( !src.data )
        { printf(" No data! -- Exiting the program 
    ");
          return -1; }
    
      tmp = src;
      dst = tmp;
    
      /// 创建显示窗口
      namedWindow( window_name, CV_WINDOW_AUTOSIZE );
      imshow( window_name, dst );
    
      /// 循环
      while( true )
      {
        int c;
        c = waitKey(10);
    
        if( (char)c == 27 )
          { break; }
        if( (char)c == 'u' )
          { pyrUp( tmp, dst, Size( tmp.cols*2, tmp.rows*2 ) );
            printf( "** Zoom In: Image x 2 
    " );
          }
        else if( (char)c == 'd' )
         { pyrDown( tmp, dst, Size( tmp.cols/2, tmp.rows/2 ) );
           printf( "** Zoom Out: Image / 2 
    " );
         }
    
        imshow( window_name, dst );
        tmp = dst;
      }
      return 0;
    }
    
    //缩小,再放大就模糊了,什么情况?


     

  • 相关阅读:
    Win10 64bit 下 Oracle 11g的安装
    删除服务列表中的任意服务 services.msc
    centos7修改docker镜像源的方法
    Docker零基础
    CentOS 查看日志命令
    mac 修改默认python,pip,为python3,pip3
    多次调用摄像头,需要考虑渲染问题
    Ant Designer Vue 中 layout 样式类名丢失
    Windows10 右键假死卡住转圈。
    mac 安装yarn
  • 原文地址:https://www.cnblogs.com/wangyaning/p/4236964.html
Copyright © 2011-2022 走看看