1.opencv由浅入深--图像读取与显示

opencv图像读取与显示

1.opencv开发环境配置

opencv下载

当前选4.6.0版本。
选windows即可,这个对初学者友好,下载解压配置环境变量,
然后再用vs2019新建工程配置好opencv的头文件目录、目录及依赖库即可。
点击https://sourceforge.net/projects/opencvlibrary/files/4.6.0/opencv-4.6.0-vc14_vc15.exe/download,
在国内通过浏览器下载时很慢,可以通过Motrix或其他来下载。

2.opencv图像读写示例

#include <iostream>

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
    cout << "hello" << endl;

    Mat image;
    image = imread("G:/opencv/vs_opencv/lena.jpg");

    if (image.empty())
    {
        cout << "image is empty." << endl;
        return -1;
    }

    namedWindow("image");
    imshow("image", image);

    imwrite("1.png", image);

    waitKey(0);

    return 0;
}

3.opencv图像读写、显示API

3.1 图像读取 imread

在imgcodecs.hpp头文件中声明;
函数原型:
Mat cv::imread(const String & filename, int flags = IMREAD_COLOR) ;
从指定的路径读取文件,输出Mat图像矩阵;
函数参数:
1.filename:指定路径下指定扩展名的文件;
    opencv支持文件格式:
        1.Windows 位图 - * .bmp,* .dib
        2.JPEG 文件 - * .jpeg,* .jpg,*.jpe
        3.JPEG 2000文件 - * .jp2
        4.便携式网络图形 - * .png
        5.WebP - * .webp
        6.便携式图像格式 - * .pbm,* .pgm,* .ppm * .pxm,* .pnm
        7.TIFF 文件 - * .tiff,* .tif
2.flags:读取图片的方式,默认为IMREAD_COLOR,即为真彩色;
    其他方式:
        IMREAD_UNCHANGED    按原样返回加载的图像(使用Alpha通道)
        IMREAD_COLOR        始终将图像转换为3通道BGR彩色图像
        IMREAD_GRAYSCALE    始终将图像转换为单通道灰度图像
        IMREAD_ANYDEPTH     在输入具有相应深度时返回16位/32位图像,否则将其转换为8位
        IMREAD_ANYCOLOR     以任何可能的颜色格式读取图像
        IMREAD_LOAD_GDAL    使用gdal驱动程序加载图像
        IMREAD_REDUCED_GRAYSCALE_2	 始终将图像转换为单通道灰度图像,图像尺寸减小1/2
        IMREAD_REDUCED_COLOR_2  始终将图像转换为3通道BGR彩色图像,图像尺寸减小1/2
        IMREAD_REDUCED_GRAYSCALE_4   始终将图像转换为单通道灰度图像,图像尺寸减小1/4
        IMREAD_REDUCED_COLOR_4  始终将图像转换为3通道BGR彩色图像,图像尺寸减小1/4
        IMREAD_REDUCED_GRAYSCALE_8  始终将图像转换为单通道灰度图像,图像尺寸减小1/8
        IMREAD_REDUCED_COLOR_8   始终将图像转换为3通道BGR彩色图像,图像尺寸减小1/8
        IMREAD_IGNORE_ORIENTATION   不要根据EXIF的方向标志旋转图像

3.2图像写入 imwrite

在imgcodecs.hpp头文件中声明;
函数原型:
CV_EXPORTS_W bool imwrite( const String& filename, InputArray img, const std::vector<int>& params = std::vector<int>());
用于将图像保存到指定的文件
函数参数:
1.filename:需要保存图像的文件名,要保存图片为哪种格式,就带什么后缀。
2.img:要保存的图像。
3.params:表示为特定格式保存的参数编码。

3.3图像显示 imshow

在highgui.hpp头文件中声明;
函数原型:
CV_EXPORTS_W void imshow(const String& winname, InputArray mat);
将图片显示在窗口中,通过设备屏幕展现出来。
函数参数:
1.winname:窗口名称;
2.mat:图像矩阵。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值