三个函数

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

opencv 1 图像载入、显示和输出相关推荐

  1. Python,OpenCV骨架化图像并显示(skeletonize)

    Python,OpenCV骨架化图像并显示(skeletonize) 1. 效果图 2. 源码 参考: 1. 效果图 自己画一张图,原图 VS 骨架效果图如下: opencv logo原图 VS 骨架 ...

  2. opencv读取图像始终显示NoneType

    1. 问题 项目需要用opencv实现图像的读取和变化,读取图像时却一直显示图像类型为NoneType, def data_aug(img_path,path,count):print(img_pat ...

  3. opencv识别图像红色区域,并输出红色区域中心点坐标

    适用小白,大佬勿喷 个人配置:vs2013 ; opencv 3.0 ; 直接上效果图 注意:右下角的水印把中心点挡住了,要仔细看才能看到 下面是代码: #include <iostream&g ...

  4. OpenCV—python图像以数组形式输出

    from PIL import Image import numpy as np import os# 将图像(灰度图)以矩阵(数字)的的形式输出 img = Image.open("./c ...

  5. 第一个OpenCV读取图像并显示

    转载于:https://www.cnblogs.com/MyFlora/archive/2011/06/02/2068572.html

  6. 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析

    [-] 一开胃菜之一  关于OpenCV的命名空间 二开胃菜之二  关于Mat类型 三图像的载入和显示 imread函数 namedWindow函数 imshow函数 四输出图像到文件imwrite函 ...

  7. OpenCV(二)图像的载入,显示,和输出

    一.OpenCV的命名空间 在写简单的OpenCV程序的时候,以下两句话是标配: #include<opencv2/opencv.hpp> using namespace cv; 二.关于 ...

  8. 【OpenCV】OpenCV实战从入门到精通图像的载入、显示与输出

    书中关于图像的载入.显示与输出的综合应用.有些细节知识将在本博客后续更新. #include <opencv2/core/core.hpp> #include <opencv2/hi ...

  9. C/C++ OpenCV图像的载入,显示,输出

    首先有以下几个介绍 1.Mat类 用于保存图像以及其他矩阵数据的数据结构,默认情况下其尺寸为0. 2.imread()函数 图片的载入 Mat imread(const string& fil ...

最新文章

  1. python各种文件数据的读取
  2. 火爆背后的挑战:直播平台的高并发架构设计
  3. Cortex‐M3-存储器映射
  4. springboot 注解动态赋值_SpringBoot 使用 @Value 注解读取配置文件给静态变量赋值
  5. Linux基础(5)--Linux常用命令表
  6. blui_BLUI:一种创建游戏UI的简单方法
  7. Python机器学习:线型回归法05衡量线性回归法的指标MES,RMS,MAE
  8. 《A Point Set Generation Network for 3D Object Reconstruction from a Single Image》论文笔记_2D图像生成3D点云
  9. python魔法函数(二)之__getitem__、__len__、__iter__
  10. JDBC-通过Driver接口获取数据库连接
  11. 用友 NC客户化开发手册
  12. 模数转换器(ADC)选型参考指南
  13. java 读usb口 用POS-58 90U 打印
  14. Docker与本地网络连接配置
  15. 一些触动人心的动效设计欣赏
  16. 在Visual Studio.NET中更改颜色-黑色与白色
  17. 微信小程序 手写签名_你竟然还不知道在微信上就可以手写签名、签文件了~
  18. java上位机开发(编译和部署)
  19. zabbix自定义监控项及触发动作
  20. CPU中的寄存器和地址概念

热门文章

  1. 利用JS判断是手机端还是PC端 浏览网站
  2. BZOJ 3585: mex( 离线 + 线段树 )
  3. Android控件之ImageView探究
  4. Oracle正则表达式匹配中文的问题
  5. C++const关键字作用
  6. java的标记接口_Java中的标记接口?
  7. matlab getstart,matlab帮助文件(matlab get start.pdf)
  8. 陈彦铭_盆栽(陈彦铭)
  9. php的环境怎么配置文件,php环境下所有的配置文件以及作用
  10. 输入引脚时钟约束_Happy Design in Vivado 系列:时序分析入门三板斧(一):创建时钟...