图像的尺寸调整

本次使用opencv中的API函数resize()和pyrup()和pyrdown()进行图像尺寸的放大和缩小。

程序的功能说明如下:

  按键的功能 按下1键:用resize()把图片放大
     按下2键 :用resize()把图片缩小
  按下3键: 用pyrup()把图片放大
  按下4键:用pyrdown()把图片缩小

#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

Mat src, temp, dst;
static void ShowHelpText();

int main()
{
    //显示原图
    src = imread("D:/meinv.jpg");
    namedWindow("原图", CV_WINDOW_AUTOSIZE);
    imshow("原图", src);

    //参数赋值
    temp = src;
    dst = temp;

    //按键的功能 按下1键:用resize()把图片放大
               // 按下2键 :用resize()把图片缩小
              //按下3键: 用pyrup()把图片放大
              //按下4键:用pyrdown()把图片缩小
    int key = 0;
    while (1)
    {
        key = waitKey(9);   //读取键值
        switch (key)
        {
            case 27:      //按下ESC,退出程序
                return 0;
                break;
            case ‘1‘:
                resize(temp, dst, Size(temp.cols * 2, temp.rows * 2));
                printf("按键1按下,将图片放大\n");
                break;

            case ‘2‘:
                resize(temp, dst, Size(temp.cols / 2, temp.rows / 2));
                printf("按键2按下,将图片缩小\n");
                break;

            case ‘3‘:
                pyrUp(temp, dst, Size(temp.cols * 2, temp.rows * 2));
                printf("按键3按下,将图片放大\n");
                break;

            case ‘4‘:
                pyrDown(temp, dst, Size(temp.cols / 2, temp.rows / 2));
                printf("按键4按下,将图片缩小\n");
                break;
        }
        imshow("原图", dst);
        temp = dst;
    }

    return 0;
}

由于放大和缩小变换是在上一幅图像的操作基础上操作的,所以图像会变得越来越模糊。

显示效果:

原文地址:https://www.cnblogs.com/carlber/p/9661354.html

时间: 2024-11-13 08:40:58

图像的尺寸调整的相关文章

调整图像的尺寸 - cvResize() 函数实现

前言 有时会碰到一张图片太大了,想将它缩小.本文将讲解一个很好用的函数解决这个问题. 图像尺寸调整函数 cvResize 1 // 图像尺寸调整函数 2 void Resize ( 3 const CvArr * src, // 待处理图像 4 CvArr * dst, // 处理后图像 5 int interpolation = CV_LINTER_LINTER //插值方法 6 ) 在调用此函数前,需要定制好处理后图像的格式,再将其内存块地址传入第二个参数:对于第三个参数可暂时不去理会,使用

iOS开发-开发常识[尺寸图标和图像的尺寸(像素)]

尺寸图标和图像的尺寸(像素) 所有的图像和图标建议用png格式,需要避免使用交错型的png文件格式.标准的图标和图像的位深(每像素占用的字节)是24位,红,绿,蓝通道分别为8位,再加上透明通道的8位,总共有32位.你不需要把你的调色板限制在web安全色里.

JAVA代码根据经纬度范围计算WGS84与谷歌全球墨卡托包含的切片数目与拼接图像像素尺寸

根据项目需求编写的代码. 适用场景:在网络地图上,比如天地图与谷歌地图,用户用鼠标在地图上拉一个矩形框,希望下载该矩形框内某一层级的瓦片数据,并将所有瓦片拼接成一个完整的,包含地理坐标的tif图像. 那么在下载瓦片与拼接瓦片之前,用户希望能看到待下载的瓦片数量与待拼接图像的像素尺寸,再决定是否拼接. 该java代码根据该矩形框的经纬度范围与用户指定的瓦片层级,计算需要下载的瓦片数量与待拼接结果图像的像素尺寸. 支持EPSG4326经纬度与EPSG3857谷歌全球墨卡托投影.经纬度瓦片切图规则与天

iOS开发—— 尺寸图标和图像的尺寸(技术常识篇)

尺寸图标和图像的尺寸(像素) 所有的图像和图标建议用png格式,需要避免使用交错型的png文件格式.标准的图标和图像的位深(每像素占用的字节)是24位,红,绿,蓝通道分别为8位,再加上透明通道的8位,总共有32位.你不需要把你的调色板限制在web安全色里.

UIView的自动尺寸调整属性autoresizesSubviews 属性

自动尺寸调整属性autoresizesSubviews //高度自动伸缩,右边间距自动伸缩 self.autoresizesSubviews = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin; UIViewAutoresizingNone 这个常量如果被设置,视图将不进行自动尺寸调整. UIViewAutoresizingFlexibleHeight 这个常量如果被设置,视图的高度将和父视图的高度

对文件下图像进行尺寸归一化

// SHIYAN.cpp : Defines the entry point for the console application. // #include"stdlib.h"   //system需要调用这个 #include "stdafx.h" #include "stdio.h"   #include "cv.h"   using namespace std; int _tmain(int argc, _TCHAR

[转]OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

[OpenCV入门教程之十三]OpenCV图像金字塔:高斯金字塔.拉普拉斯金字塔与图片尺寸缩放 2014-05-18 18:58 36007人阅读 评论(54) 收藏 举报 本文章已收录于:  OpenCV知识库 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http

【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http://www.zhihu.com/people/mao-xing-yun 邮箱: [email protected] 写作当前博文时配套使用的OpenCV版本: 2.4.9 这篇文章里,我们将一起探讨图像金字塔的一

12、高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

一.引言 我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式: (1)resize函数.这是最直接的方式, (2)pyrUp( ).pyrDown( )函数.即图像金字塔相关的两个函数,对图像进行向上采样,向下采样的操作. pyrUp.pyrDown其实和专门用作放大缩小图像尺寸的resize在功能上差不多,披着图像金字塔的皮,说白了还是在对图像进行放大和缩小操作.另外需要指出的是,pyrUp.pyrDown在O