opencv 1 图像载入、显示和输出

三个函数

imread()
namedWindow()
inshow()
1. imread

函数原型:

Mat imread(const string& filename, int flags = 1 );

参数解析:

  • const string& finename
    将要载入的图片路径名。
    Windows操作系统下面支持如下类型的图片:

Windows位图 - *.bmp, *.dib
JPEG文件 - *.jpeg, *.jpg, *.jpe
JPEG 2000文件- *.jp2
PNG图片 - *.png
便携文件格式- *.pbm, *.pgm, *.ppm
Sun rasters光栅文件 - *.sr, *.ras
TIFF 文件 - *.tiff, *.tif

  • int flags = 1
    指定加载图像的颜色类型。缺省值为 1 ,表示载入三通道的彩色图像。
    可在标识图像格式的枚举体中取值。在 higui_c.h 中有该枚举体的定义:
enum
{
/* 8bit, color or not */
   CV_LOAD_IMAGE_UNCHANGED  =-1,
/* 8bit, gray */
   CV_LOAD_IMAGE_GRAYSCALE  =0,
/* ?, color */
   CV_LOAD_IMAGE_COLOR      =1,
/* any depth, ? */
   CV_LOAD_IMAGE_ANYDEPTH   =2,
/* ?, any color */
   CV_LOAD_IMAGE_ANYCOLOR   =4
};

对应解释:

CV_LOAD_IMAGE_UNCHANGED – 该标识已经弃用
CV_LOAD_IMAGE_ANYDEPTH – 若载入的图像的深度为16位或者32位,返回对应深度的图像,否则,就转换为8位图像再返回。
CV_LOAD_IMAGE_COLOR – 转换图像到彩色一体
CV_LOAD_IMAGE_GRAYSCALE – 将图像转换成灰度1

如果输入有冲突标志,将取小值。比如 CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR 将载入3通道图。
如果想要载入最真实的图像,选择 CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR 。

因为 flags 是 int 类型,还可以使用下面的方式:

flags > 0 – 返回3通道彩色图像。
flags = 0 – 返回灰度图像。
flags < 0 – 返回包含Alpha通道加载的图像。

示例代码:

        Mat image0=imread("dota.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);  //载入最真实的图像
	    Mat image1=imread("dota.jpg",0);     //载入灰度图
       	Mat image2=imread("dota.jpg",199); //载入3通道的彩色图像
       	Mat logo=imread("dota_logo.jpg");   //载入3通道的彩色图像

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值