图像载入 imread()[OpenCV 笔记4]

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

filename

载入的图像名;

flags

指定加载图像的颜色类型,默认载入三通道彩色图像,

  • 如果取枚举类型 (OpenCV3中暂时失效),则定义如下  
enum{
  CV_LOAD_IMAGE_UNCHANGED = -1, /* 8 bit, color or not */
  CV_LOAD_IMAGE_GRAYSCALE = 0,  /* 8 bit, gray */
  CV_LOAD_IMAGE_COLOR = 1,      /* ?, color */
  CV_LOAD_IMAGE_ANYDEPTH = 2,   /* any depth, ? */
  CV_LOAD_IMAGE_ANYCOLOR = 4    /* ?, any color */
};
    • CV_LOAD_IMAGE_UNCHANGED: 在新版本中译本废置;
    • CV_LOAD_IMAGE_GRAYSCALE: 始终将图像转换成灰度,在返回;
    • CV_LOAD_IMAGE_COLOR: 始终转换到彩色,再返回;
    • CV_LOAD_IMAGE_ANYDEPTH: 如果载入图像的深度为16位或者32位,就返回对应深度图,否则就转换为8位图像在返回;
    • CV_LOAD_IMAGE_ANYCOLOR: 无损的源图像。
    • 如果输入有冲突表示,将采用较小数值,例如    
CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR /* equivalent to CV_LOAD_IMAGE_COLOR*/
  • 如果取int类型
    • flags>0,三通道彩色图
    • flags=0,灰度图
    • flags<0,包含Alpha通道的图像

图像储存顺序:BGR

posted @   TinaSmile  阅读(8882)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示