zoukankan      html  css  js  c++  java
  • 图像的尺寸调整

    本次使用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按下,将图片放大
    ");
                    break;
    
                case '2':
                    resize(temp, dst, Size(temp.cols / 2, temp.rows / 2));
                    printf("按键2按下,将图片缩小
    ");
                    break;
    
                case '3':
                    pyrUp(temp, dst, Size(temp.cols * 2, temp.rows * 2));
                    printf("按键3按下,将图片放大
    ");
                    break;
    
                case '4':
                    pyrDown(temp, dst, Size(temp.cols / 2, temp.rows / 2));
                    printf("按键4按下,将图片缩小
    ");
                    break;
            }
            imshow("原图", dst);
            temp = dst;
        }
        
        return 0;
    }

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

    显示效果:

  • 相关阅读:
    shell 指定范围产生随机数
    shell脚本比较两个数大小
    Shell 脚本实现随机抽取班级学生
    linux通过挂载系统光盘搭建本地yum仓库的方法
    kuberenetes 上使用helm部署rancher如何卸载干净
    Windows 下 左Ctrl和Caps交换
    C#笔记 -- 协变、逆变
    Python 读取window下UTF-8-BOM 文件
    生成命令行程序使用脚本
    ffmpeg 命令小记
  • 原文地址:https://www.cnblogs.com/carlber/p/9661354.html
Copyright © 2011-2022 走看看