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

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

更多相关:

  • 论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信[email protected]。opencv中ArUco模块实践(1)ArUco的生成与检测ArUco与AprilTag简介ChAruco...

  • 在x y的梯度上再求一次导数后相加便是散度。注意不要使用convertScaleAbs int main(int argc, char*argv[]) {cv::Mat IMG = cv::imread("./img.jpg", 1);cv::Mat k = getStructuringElement(cv::MORPH_RECT,...

  • 算法是基于A Fast Parallel Algorithm for Thinning Digital Patterns论文 https://blog.csdn.net/keneyr/article/details/88944563 简单的解释算法: https://blog.csdn.net/xukaiwen_2016...

  • 第一行是提取有效区域后的鱼眼图;第二行就是展开图(第二张和第四张根据需要裁剪了一部分) #include #include "opencv2/highgui/highgui.hpp" #include "opencv2/opencv.hpp" #include

  • cv::Mat inputIMG = cv::imread("./input/src.jpg", 1);cv::Mat graySrc, grad_x, grad_y;cv::Mat abs_grad_x, abs_grad_y;cv::cvtColor(inputIMG, graySrc, cv::COLOR_BGR2GRAY);...

  • 教程简介 OpenCV 是计算机视觉中经典的专用库,然而其中文版官方教程久久不来。近日,一款最新 OpenCV4.1 版本的完整中文版官方教程出炉,读者朋友可以更好的学习了解 OpenCV 相关细节。教程来自 objectdetection.cn 。 教程目录 OpenCV 简介 0_OpenCV-Python Tutorials O...

  • 公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。IPM模型在解释自适应的IPM模型之前,首先需要了解使用相机的物理参数来描述IPM的基本模型[1](这篇...

  • 公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。前言前段时间刚分享的AVP-SLAM文章中有一个知识点叫做IPM(逆透视变换)AVP-SLAM:自动泊车...

  • 标题:The algorithm to generate color point-cloud with the registration between panoramic imageand laser point-cloud作者:Fanyang ZENG, Ruofei ZHONG 编译:点云PCL来源: https://iops...

  • 目前深度图像的获取方法有激光雷达深度成像法,计算机立体视觉成像,坐标测量机法,莫尔条纹法,结构光法等等,针对深度图像的研究重点主要集中在以下几个方面,深度图像的分割技术 ,深度图像的边缘检测技术 ,基于不同视点的多幅深度图像的配准技术,基于深度数据的三维重建技术,基于三维深度图像的三维目标识别技术,深度图像的多分辨率建模和几何压缩技术...