以下实验基于python==3.6、opencv-python==4.1.0.25、imutils==0.5.2


图片的读取 cv2.imread

该方法第一个参数为文件名filename(文件路径+文件名)

第二个为读取方式flags,可选参数

IMREAD_ANYCOLOR = 4
IMREAD_ANYDEPTH = 2
IMREAD_COLOR = 1
IMREAD_GRAYSCALE = 0IMREAD_IGNORE_ORIENTATION = 128IMREAD_LOAD_GDAL = 8IMREAD_REDUCED_COLOR_2 = 17
IMREAD_REDUCED_COLOR_4 = 33
IMREAD_REDUCED_COLOR_8 = 65IMREAD_REDUCED_GRAYSCALE_2 = 16
IMREAD_REDUCED_GRAYSCALE_4 = 32
IMREAD_REDUCED_GRAYSCALE_8 = 64IMREAD_UNCHANGED = -1

前4中读取方式的shape和显示效果如下

可见IMREAD_GRAYSCALEIMREAD_ANYDEPTH都只读取了一层灰度图像

IMREAD_COLORIMREAD_ANYCOLOR读取了3层彩色图像

因为这里只测试了jpeg图片,可能在读取其他图片的情况下会有不同结果,大家可以自己试一下

cv2.IMREAD_GRAYSCALE (2048, 1536)
cv2.IMREAD_COLOR (2048, 1536, 3)
cv2.IMREAD_ANYDEPTH (2048, 1536)
cv2.IMREAD_ANYCOLOR (2048, 1536, 3)


下面是IMREAD_IGNORE_ORIENTATIONIMREAD_LOAD_GDALIMREAD_UNCHANGED

cv2.IMREAD_IGNORE_ORIENTATION (2048, 1536)
cv2.IMREAD_LOAD_GDAL (2048, 1536, 3)
cv2.IMREAD_UNCHANGED (2048, 1536, 3)

下面是IMREAD_REDUCED_COLOR_2IMREAD_REDUCED_COLOR_4IMREAD_REDUCED_COLOR_8

像素分别减少为原来的1/2、1/4、1/8,但依然是彩色像


cv2.IMREAD_REDUCED_COLOR_2 (1024, 768, 3)
cv2.IMREAD_REDUCED_COLOR_4 (512, 384, 3)
cv2.IMREAD_REDUCED_COLOR_8 (256, 192, 3)


下面是IMREAD_REDUCED_GRAYSCALE_2IMREAD_REDUCED_GRAYSCALE_4IMREAD_REDUCED_GRAYSCALE_8

像素分别减少为原来的1/2、1/4、1/8,并且都是灰度图像

cv2.IMREAD_REDUCED_GRAYSCALE_2 (1024, 768)
cv2.IMREAD_REDUCED_GRAYSCALE_4 (512, 384)
cv2.IMREAD_REDUCED_GRAYSCALE_8 (256, 192)

注:为了方便比较,以上所有图片在显示的时候又统一缩放为(512, 384)大小的图片并排显示

示例代码已经上传到github

转载于:https://my.oschina.net/u/4105485/blog/3082420

【opencv图像处理】图片的读取——cv2.imgread各种读取方式对比相关推荐

  1. OpenCV笔记02:用cv2.imread函数读取图片

    1.读取图片 import cv2 img = cv2.imread('image.jpg') print(img) 2. 查看输出 [[[ 33 26 103][ 34 21 100][ 34 15 ...

  2. Python下openCV图像处理-图片展示、图片缩小

    目的 1.窗口显示图片 2.图片缩小 3.图片上显示文字 知识点 1.引包 import cv2 #引用OpenCV功能包 import numpy as np #引用数组功能包 2.窗口展示 ori ...

  3. OpenCV图像处理(0)——文件夹批量读取文件

    读取文件夹下所有图像.jpg string file_path = "H:\\图像处理模板\\c++\\CmakeBuildOpenCVPrj\\Pic\\PillingImages\\Si ...

  4. python爬虫验证码识别 (手把手教会你验证码识别)opencv图像处理 图片处理 验证码处理 降噪 简单易懂验证码处理

    前言:验证码是个烦人的小家伙!当然有很多打码平台,可以轻松解决!但可以自己来,干嘛靠别人!有技术不学是傻儿童!今天主要讲opencv来解决验证码!抱着怀里教你!让你向前迈一大步!详细讲,慢慢看!简单易 ...

  5. opencv改变图片大小,cv2.resize方法详解

    cv2.resize可以改变图片的尺寸,方法如下 def resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) src: ...

  6. Python读取文本的三种方式对比

    1.概述 Python有三种读取文本的方式,分别是: read() readline() readlines() 2.三种方式的优缺点分析 2.1 read() 最简单的一种方法,一次性读取文件的所有 ...

  7. 使用openCV 的cv2.imread函数读取图片找不到路径

    使用openCV 的cv2.imread函数读取图片时出现,找不到图像的问题: 错误如下: 尝试把 \ 换为 /, 或者把 \ 换为 \ 都不可以. 后来发现,是中文路径的问题,将中文路径换为英文路径 ...

  8. 【OpenCV 例程200篇】01. 图像的读取(cv2.imread)

    [OpenCV 例程200篇]01. 图像的读取(cv2.imread) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新 ...

  9. python怎么打印图片_Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头...

    一. 打印图片属性.设置图片存储路径 代码如下: #打印图片的属性.保存图片位置 import cv2 as cv import numpy as np #numpy是一个开源的python科学计算库 ...

最新文章

  1. Node.js 指南(目录)
  2. redis 集合操作
  3. 笔记-计算机网络基础-综合布线系统
  4. 嵌套页面h5怎么调起手机文件_让微信公众号文章排版像网页h5一样高大上
  5. 关于Kafka高性能的几个问题
  6. 力扣225. 用队列实现栈(JavaScript)
  7. pytorch从ubuntu16.04到win7的迁移(解决)
  8. MySql计算百分比
  9. SpringBoot 的属性配置文件
  10. 寻求生态保护与矿产开发平衡点 青海给出“绿色方案”
  11. android形状属性、锁屏密码、动态模糊、kotlin项目、抖音动画、记账app、视频播放器等源码...
  12. CUDNN学习笔记(1)
  13. Steam网页版/手机端显示“短期内来自您网络的失败登陆过多,请稍后再试”
  14. 使鼠标保持按住状态_让电脑也能听、会写、还会说!小米小爱鼠标抢先体验
  15. 产学交流 | 重庆师范大学计算机学院、湖北省十堰市竹溪管委会各位专家到访芝诺数据...
  16. centos主机测磁盘读写速度极限
  17. 小新Pro13成功安装黑苹果超详细教程,小白也会安装双系统!
  18. 认识和选用常用的几种 GPRS 模块
  19. 六十五、Spark-综合案例(搜狗搜索日志分析)
  20. golang interface 类型变量当作某个具体类型使用

热门文章

  1. 学习闲谈:玩王者之感悟人生
  2. linux命令大全菜鸟,Linux菜鸟常用命令有哪些?
  3. Windows NT和2000的TCP/IP设置
  4. CS品牌SD NAND在点读机产品中的案例分享
  5. 重装系统——win10
  6. JS实现马赛克图片效果
  7. 学好程序员必知必会的数据结构,这一份书单你值得拥有!
  8. Matlab 等间隔读取IGS对流层天顶延迟(ZPD)文件
  9. 重回童年的经典系列☀️|【贪吃蛇小游戏】近两万字完整制作过程+解析+源码 【建议收藏学习】
  10. 如何配置DHCP中继,华为模拟器实验记录