700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > opencv 1 图像载入 显示和输出

opencv 1 图像载入 显示和输出

时间:2023-07-26 20:56:11

相关推荐

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通道的彩色图像

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。