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( "\n Zoom In-Out demo  \n " );
  printf( "------------------ \n" );
  printf( " * [u] -> Zoom in  \n" );
  printf( " * [d] -> Zoom out \n" );
  printf( " * [ESC] -> Close program \n \n" );

  /// 测试图像 - 尺寸必须能被 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 \n");
      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 \n" );
      }
    else if( (char)c == 'd' )
     { pyrDown( tmp, dst, Size( tmp.cols/2, tmp.rows/2 ) );
       printf( "** Zoom Out: Image / 2 \n" );
     }

    imshow( window_name, dst );
    tmp = dst;
  }
  return 0;
}

//缩小,再放大就模糊了,什么情况?

 

 

 

时间: 2024-10-23 23:00:34

OpenCV 金字塔图像缩放的相关文章

高斯模糊-opencv怎么显示建立好的高斯金字塔图像,用什么代码实现

问题描述 opencv怎么显示建立好的高斯金字塔图像,用什么代码实现 将建立的高斯金字塔全部显示出来需要用什么代码实现,还有dog金字塔的.求告知, 解决方案 http://www.tuicool.com/articles/jUBnQjA

利用OpenCV检测图像中的长方形画布或纸张并提取图像内容

原文:利用OpenCV检测图像中的长方形画布或纸张并提取图像内容 基于知乎上的一个答案.问题如下: 也就是在一张照片里,已知有个长方形的物体,但是经过了透视投影,已经不再是规则的长方形,那么如何提取这个图形里的内容呢?这是个很常见的场景,比如在博物馆里看到一幅很喜欢的画,用手机找了下来,可是回家一看歪歪斜斜,脑补原画内容又觉得不对,那么就需要算法辅助来从原图里提取原来的内容了.不妨把应用的场景分为以下: 纸张四角的坐标(图中红点)已知的情况 也就是上面的左图中4个红点是可以准确获取,比如手动标注

视频图像处理基础知识0(双线性插值算法进行图像缩放)【转】

转自:http://blog.csdn.net/times_poem/article/details/51395781 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 双线性插值说的很明白 双线性插值算法进行图像缩放及性能效果优化   双线性插值(说的很明白) 来自:http://www.cnblogs.com/linkr/p/3630902.html         http://www.cnblogs.com/linkr/p/3630902.html 双线性插值,这个

使用Python+OpenCV进行图像模板匹配(Match Template)

本篇文章介绍使用Python和OpenCV对图像进行模板匹配和识别.模板匹配是在图像中寻找和识别模板的一种简单的方法.以下是具体的步骤及代码. 首先导入所需库文件,numpy和cv2. #导入所需库文件  import cv2  import numpy as np  然后加载原始图像和要搜索的图像模板.OpenCV对原始图像进行处理,创建一个灰度版本,在灰度图像里进行处理和查找匹配.然后使用相同的坐标在原始图像中进行还原并输出. #加载原始RGB图像  img_rgb = cv2.imread

10 款免费的 jQuery 图像缩放插件

设计电子商务网站必知的十款免费 jQuery 图像缩放插件 Jquery 图像缩放插件不仅简单易用,而且还能够给予用户更好的体验.你只需要在图像或产品上移动鼠标,你将看到图片或产品的详细信息. 今 天,我们来分享一些 jQuery 图像缩放插件.事实上,图像缩放是很多在线购物网站最基本的组成部分.如果你是开发人员,你想在网站中使用图像缩放功能的话,推荐你使用下面十款 jquery 图像缩放插件.你可以根据需要,选择任意你想要的图像缩放插件,而且还免费哦. EasyZoom Demo | Down

opencv里图像批处理保存

问题描述 opencv里图像批处理保存 opencv里想在一个for循环里imwrite多张图片,保存为不同的文件名,可以实现吗? 解决方案 matlab里可以,opencv没试过,应该也可以的 解决方案二: 嗯,已经解决了,用sprintf每次写一个新路径名 解决方案三: opencv保存图像

c++-利用OpenCV比较图像旋转角度

问题描述 利用OpenCV比较图像旋转角度 有两个图,已经加载到Mat中,期中的一个图是另一个图经过一定的旋转得到的,我想利用OpenCV来获得被旋转图是旋转了多少度.希望各位大虾能给点思路或者方法,谢谢了! 解决方案 不知道我说的符不符合你的情况哈 . 我这边以前也弄过图片旋转, 一张图片经过旋转后,再保存就会发现它的 width 跟height不一样的 , 一般是变大,比如旋转九十度,那么它的宽就成了高了,旋转的角度与宽高变化的关系可以用数学式子整理出来.不知道用在你那上面对不对了 .这只是

库函数-opencv中图像轮廓矢量化算法

问题描述 opencv中图像轮廓矢量化算法 opencv中图像轮廓矢量化算法,有直接矢量化的库函数么?急求答案! 解决方案 说的有点含糊,如果你是要opencv中的代码,你可以直接抠出来用.

OpenCV 查找图像轮廓

OpenCV 查找图像轮廓 目的 我们将学习: 学会使用 OpenCV 函数 findContours 学会使用 OpenCV 函数 drawContours 原理 代码 下面是本示例的代码,可以从这里 下载 #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> #