zoukankan      html  css  js  c++  java
  • openCV学习——一、图像读取、显示、输出

    一、Mat imread(const string& filename,int flags=1),用于读取图片

    1、参数介绍

    filename:载入的图片的路径名。支持windows位图(bmp,dib)、JPEG文件(.jpeg,.jpg,.jpe)、JPEG2000文件(.jp2)、PNG图片(.png)、便携文件格式(.pbm,.pgm,.ppm)、Sun rasters光栅文件(.sr,.ras)、TIFF文件(.tiff,.tif)

    flags:表示载入标识,指定加载图像的颜色类型,默认为三通道彩色图像。

      常用标志符:

    • CV_LOAD_IMAGE_UNCHANGED——等价取值为-1
    • CV_LOAD_IMAGE_GRAYSCALE——等价取值为0,将图像转化为灰度
    • CV_LOAD_IMAGE_COLOR——等价取值为1,将图像转化为彩色
    • CV_LOAD_IMAGE_ANYDEPTH——等价取值为2,当载入图像深度为16位或32位,返回对应深度的图像,否则转化为8位图像返回
    • CV_LOAD_IMAGE_ANYCOLOR——等价取值为4,无损的源图像

     当输入有冲突时,采用较小数字值。CV_LOAD_IMAGE_COLOR|CV_LOAD_IMAGE_ANYCOLOR将载入三通道图;CV_LOAD_IMAGE_ANYDEPTH|CV_LOAD_IMAGE_ANYCOLOR将载入最真实无损的源图像。

      若以数值表示,则:

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

     当以彩色载入时,通道顺序为BGR(蓝、绿、红),而非RGB。

    二、void imshow(const string& winname,InputArray mat),用于显示一副图像

    1、参数介绍

    winname:填需要显示的窗口标志名称

    mat:填需要显示的图像

    2、注意事项

    如果窗口用CV_WINDOW_AUTOSIZE(默认值)创建的,那么imshow将显示图像原始大小,否则将进行缩放以适应窗口:

    • 如果图像为8位无符号类型,显示原来图像
    • 如果为16位无符号或32位整型,使用像素值除以256,将值的范围从[0,255*256]映射到[0,255]
    • 如果图像为32位浮点型,像素值乘以255.

    如果窗口创建时设定支持OpenGL(WINDOW_OPENGL),则imshow还支持ogl::Buffer、ogl::Texture2D以及gpu::GpuMat作为输入。

    三、void namedWindow(const string& winname, int flags=WINDOW_AUTOSIZE),用于创建窗口

    1、参数介绍

    name:填写窗口名称,将被用作窗口标志符

    flags:窗口标志类型:

    • WINDOW_NORMAL,可改变窗口大小
    • WINDOW_AUTOSIZE(值为1),窗口大小会自动调整以适应所要显示的图像,且用户无法手动调整
    • WINDOW_OPENGL,窗口创建时将支持OpenGL

    2、其他

    可以自行手动关闭窗口并释放空间:destroyWindow()或destroyAllWindows()。但是程序退出时,所有窗口将被系统自动关闭。

    四、bool imwrite(const string& filename, InputArray img,const vector<int>&params=vector<int>()),用于输出图像到文件

    1、参数介绍

    filename:填写要写入的文件名,需带上后缀,即文件类型名。

    img:需要输出的图像,一般为Mat类型。

    params:特定格式保存的参数编码,一般不需要填写。

    • 对于JPEG格式,参数从0到100,表示图片质量(CV_IMWRITE_JPEG_QUALITY)
    • 对于PNG格式,表示压缩级别(CV_IMWRITE_PNG_COMPRESSION)从0~9.较高的值意味着更小的尺寸和更长的压缩时间,默认为3.
    • 对于PPM、PGM或PBM格式,表示一个二进制格式标识(CV_IMWRITE_PXM_BINARY),取值为0或1,默认为1.
  • 相关阅读:
    Centos7配置编译Tenflow1.15 GPU版本笔记
    今年有哪些便宜的国外域名注册商?
    VPS,域名,主机,建站主题,2020黑色星期五优惠大放送
    这些个挂机项目,赚点小钱玩玩
    WPF管理系统开发框架搭建指南,2020从入门到放弃
    智和信通助力荆门电教馆及六所市直学校实现网络智能化运维管理
    智和网管平台政企信创网管监控运维可视化方案
    智和网管平台与统信操作系统完成认证 强力支撑信创国产替代进程
    GIT基础操作与理解
    高数复习一(数列极限)
  • 原文地址:https://www.cnblogs.com/ivan-count/p/8893268.html
Copyright © 2011-2022 走看看