opencv:图像的读取,显示,写入文件

Posted wbyixx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv:图像的读取,显示,写入文件相关的知识,希望对你有一定的参考价值。

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    // 图像内存对象,在C++中是以Mat对象形式保存的
    Mat img = imread("f:/temp/images/lena.jpg");
    /*
        imread的默认选项:IMREAD_COLOR,默认会将图像加载为一张BGR的彩色图像
        IMREAD_GRAYSCALE:加载一张灰度图像
        IMREAD_ANYCOLOR:
        IMREAD_UNCHANGED:不改变,加载透明通道的图片要使用这个
    */

    // 读取灰度图像
    //Mat img = imread("C:\Users\hp\Desktop\Emoticon\q.jpg", IMREAD_GRAYSCALE);

    // 判断图像是否读取成功,如果读取成功,empty返回true
    if (img.empty())
    {
        printf("Could not find the image!
");
        return -1;
    }

    // 创建窗口,默认选项是 WINDOW_AUTOSIZE
    // 选项:
    // WINDOW_AUTOSIZE:表示自动匹配,不好修改窗口大小
    // WINDOW_FREEATIO:可以修改窗口的大小
    // WINDOW_NORMAL:也可以修改窗口
    namedWindow("input", WINDOW_AUTOSIZE);

    // 在指定窗口上显示一张图像
    // imshow 本身不支持透明通道的显示
    imshow("input", img);

    // 色彩空间转换
    Mat gray;
    // 转换为灰度图像
    // 参数1:要转换的图像,参数2:存储转换结果的,参数3:转换的选项
    cvtColor(img, gray, COLOR_BGR2GRAY);
    imshow("gray", gray);

    // 将图像写入文件
    // 这个图像如果保存出错了,是不会有提示的
    imwrite("f:/temp/test/gray.png", gray);

    waitKey(0);

    // 销毁所有窗口
    destroyAllWindows();
}

以上是关于opencv:图像的读取,显示,写入文件的主要内容,如果未能解决你的问题,请参考以下文章

python-opencv读取显示写入图像

二.使用 OpenCV 读写视频

1.opencv—图像处理基础

如何在OpenCV中使用Adobe RGB色彩空间读取jpeg图像?

opencv读取ENVI标准格式

将我的数组移动到 Mat 并使用 openCV 显示图像