• 002——加载、修改、保存图像


    涉及API

    imread

    原型

    CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
    View Code

    功能

    加载图像文件成为一个Mat对象。OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载

    参数

    filename:表示图像文件名称

    flags:表示加载的图像是什么类型。

    IMREAD_UNCHANGED(<O)表示加载原图,不做任何改变

    IMREAD_GRAYSCALE(0)表示把原图作为灰度图像加载进来

    IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来

    返回值

    返回一个Mat类对象

    namedWindow

    原型

    CV_EXPORTS_W void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);
    View Code

    功能

    创建一个OpenCV窗口,它由OpenCV自动创建与释放,你无须销毁他

    参数

    winname:窗口名称

    flags:窗口标识

    WINDOW_NORMAL:跟QT集成的时候会使用,允许修改窗口大小。

    INDOW_AUTOSIZE:如果设置了这个值,窗口大小会自动调整以适应所显示的图像,并且不能手动改变窗口大小。

    WINDOW_OPENGL:如果设置了这个值的话,窗口创建的时候便会支持OpenGL

    返回值

    imshow

    原型

    CV_EXPORTS_W void imshow(const String& winname, InputArray mat);
    View Code

    功能

    根据窗口名称将图像显示到指定的窗口。

    参数

    winname:窗口名称,对应namedWindow创建窗口时制定的窗口名称

    mat:Mat对象,对应imread加载图形时得到的Mat对象

    返回值

    cvtColor

    原型

    CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
    View Code

    功能

    将一个图像从一个颜色空间转换到另一个颜色空间,但是从RGB向其他类型转换时,必须明确指出图像的颜色通道

    参数

    src:要进行颜色空间变换的原图像,可以是Mat类

    dst:要进行颜色空间变换后存储图像,也可以Mat类

    code:转换的代码或标识,即在此确定将什么制式的图片转换成什么制式的图片

    dstCn:目标图像通道数,如果取值为0,则由src和code决定

    返回值

    示例代码

    #include<opencv2/opencv.hpp>
    #include<iostream>
    
    using namespace cv;
    int main(int argc, char **argv)
    {
        Mat src = imread("./girl.jpg");
        if (src.empty())
        {
            std::cout << "Could not load image...
    " << std::endl;
            return -1;
        }
        namedWindow("Girl", CV_WINDOW_AUTOSIZE);
        imshow("Girl",src);
    
        Mat out;
        namedWindow("Out", CV_WINDOW_AUTOSIZE);
        cvtColor(src,out,CV_BGR2GRAY);
        imshow("Out", out);
    
        waitKey(0);
        return 0;
    }
    View Code

    imwrite

    原型

    CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
                  const std::vector<int>& params = std::vector<int>());
    View Code

    功能

    保存图片

    参数

    filename:需要写入的文件名,会自己创建(像imwrite("1.jpeg",src);这样)

    img:要保存的图像

    params:表示为特定格式保存的参数编码

    返回值

    bool是否报错成功

  • 相关阅读:
    vue项目-百度地图-初始化展示覆盖范围(默认中心点和半径),点击切换中心点,地图落点(带数字)
    echarts地图下钻(全国到省)下钻一次
    JSON取值(key是中文或者数字)方式详解
    Chrome 80跨域cookie无法携带
    将博客搬至CSDN
    Django模板渲染,运行时如果报错:TemplateDoesNotExist at
    使用allure serve查看报告提示allure-results does not exists的解决方法
    jupyter lab不能自动打开浏览器和默认打开chrome浏览器的解决办法
    Chrome浏览器安装SwitchyOmega_Chromium插件,以及导入Burp Suite证书,抓取https请求包
    vue安装
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9419564.html
Copyright © 2020-2023  润新知