zoukankan      html  css  js  c++  java
  • 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是否报错成功

  • 相关阅读:
    geoserver发布mysql表数据
    geoserver1
    geoserver
    快速搭建arcgis以及cesium环境
    openlayers和cesium实现地图二三维切换
    记Mysql类型引起的BUG
    OpenLayers 图层(Layers) 详解
    基于TrueLicense实现产品License验证功能
    第七章
    第六周进度报告
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9419564.html
Copyright © 2011-2022 走看看