需要源码和图片请点赞关注收藏后评论区留言私信~~~

OpenCV的作用在于让开发人员更容易地通过编码来处理图像。那么,处理图像需要执行哪些操作呢?图像处理的基本操作包含4个方面的内容:读取图像、显示图像、保存图像和获取图像属性。其中,常用的图像属性有3个:shape、size和dtype。下面将依次详解实现图像处理的4个基本操作,并分别阐明常用的3个图像属性各自的含义及其使用方法

整体结构如下

一、读取图像

要对一幅图像进行处理,首先要做的就是读取这副图像,用到imread方法

image=cv2.imread(filename,flags)

filename 要读取的图像的完整文件名 最后不要有中文和空格

flags 读取图像颜色类型的标记 当flags的默认值为1时,表示读取的是彩色图像,此时flags值可以省略,当flags值为0时。表示读取的是灰度图像

下面演示读取当前项目目录下的图像

这里输出的是图像的像素值

代码如下

import cv2# 读取3.1.jpg,等价于image = cv2.imread("3.1.jpg",1)
image = cv2.imread("3.1.jpg")
print(image)  # 打印3.1.jpg

二、显示图像

相比上面打印出来图片密密麻麻的像素值,下面我们让这副图形直观的显示出来

对此opencv提供了imshow方法

imshow(winname,mat)

参数说明

winname:显示图像的窗口名称

mat:要显示的图像

waitKey方法用于等待用户按下键盘上按键的时间,当用户按下键盘上的任意按键时,将执行waitKey方法,并且获取waitKey方法的返回值

retval=cv2.waitKey(delay)

retval 与被按下的按键对应的ASCII码,如果没有按键被按下,则返回值为-1

delay 等待用户按下键盘上按键的时间,单位为ms,当为0 负数或者为空时,表示无限等待用户按下键盘上按键的时间

显示图像演示如下

同样也可以显示灰度图

import cv2image = cv2.imread("3.1.jpg")  # 读取3.1.jpg
cv2.imshow("flower", image)  # 在名为flower的窗口中显示3.1.jpg
cv2.waitKey()  # 按下任何键盘按键后
cv2.destroyAllWindows()  # 销毁所有窗口

三、保存图像

在实际开发的过程中,对一幅图像进行一系列的处理后,需要保存处理图像后的结果,提供了imwrite方法来保存图像

cv2.imwrite(filename,img)

参数说明

filename:保存图像时的路径

img:要保存的图像

保存图像演示

import cv2image = cv2.imread("3.1.jpg")  # 读取3.1.jpg
# 把3.1.jpg保存为E盘根目录下的、Pictures文件夹中的1.jpg
cv2.imwrite(" C:/Users/Administrator/Desktop/test.jpg", image)

四、获取图像属性

在处理图像的过程中,经常需要获取图像的大小、类型等属性。为此Opencv提供了shape size dtype三个常用属性 具体含义分别如下

shape:如果时彩色图像,那么获取的是一个包含图像的水平像素 垂直像素和通道数的数组,如果是灰度图像 则只有垂直像素和水平像素

size:获取的是图像包含的像素个数,其值为 水平像素×垂直像素×通道数 灰度图像的通道数为1

dtype:获取的是图像的数据类型

下面分别获取彩色图像和灰度图像的属性

import cv2image_Color = cv2.imread("3.1.jpg")  # 读取3.1.jpg
print("获取彩色图像的属性:")
print("shape =", image_Color.shape)  # 打印彩色图像的(垂直像素,水平像素,通道数)
print("size =", image_Color.size)  # 打印彩色图像包含的像素个数
print("dtype =", image_Color.dtype)  # 打印彩色图像的数据类型
image_Gray = cv2.imread("3.1.jpg", 0)  # 读取与3.1.jpg(彩色图像)对应的灰度图像
print("获取灰度图像的属性:")
print("shape =", image_Gray.shape)  # 打印灰度图像的(垂直像素,水平像素)
print("size =", image_Gray.size)  # 打印灰度图像包含的像素个数
print("dtype =", image_Gray.dtype)  # 打印灰度图像的数据类型

 创作不易 觉得有帮助请点赞关注收藏~~~

OpenCV中读取、显示、保存图像及获取图像属性操作讲解及演示(附源码)相关推荐

  1. 如何用Python从文件中读取学生成绩,并计算最高分/最低分/平均分(附源码)

    兄弟们, 今天咱们试试用Python从文件中读取学生成绩, 并计算最高分/最低分/平均分. 涉及知识点 文件读写 基础语法 字符串处理 循环遍历 代码展示 模块 import platform 定义获 ...

  2. Winforn中DevExpress的TreeList中显示某路径下的所有目录和文件(附源码下载)

    场景 Winform中DevExpress的TreeList的入门使用教程(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  3. Android Studio App开发之网络通信中使用POST方式调用HTTP接口实现应用更新功能(附源码 超详细必看)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一.POST方式调用HTTP接口 POST方式把接口地址与请求报文分开,允许使用自定义的报文格式,由此扩大了该方式的应用场景.POST请求与GET ...

  4. Python图像识别实战(一):实现按数量随机抽取图像复制到另一文件夹(附源码和实现效果)

    前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章). 从本期开始,我将做一个关于图像识别的系列文章,让读者慢慢理解 ...

  5. Python 中读取和保存图像方法汇总及其区别

    方法一:利用 PIL 中的 Image 函数 这个函数读取出来不是 array 格式,这时候需要用 np.asarray(im) 或者 np.array()函数 .区别:np.array() 是深拷贝 ...

  6. Matlab之在城市环境中基于动态占用网格图的的运动规划仿真(附源码)

    目录 一.介绍 二.设置场景和基于网格的跟踪器 三.设置运动规划器 四.结果 五.总结 六.程序 此示例演示如何使用 Frenet 参考路径在城市驾驶场景中执行动态重新规划.在此示例中,将使用本地环境 ...

  7. opencv-python教程学习系列2-读取/显示/保存图像

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的读取.显示以及保存,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: ...

  8. 使用OpenCV处理图片的亮度、对比度、曝光、高光、阴影、饱和度、色温,色相(附源码)

    屏幕录制2023-05-22 22.09.32 集成opencv的方式请参照上一个帖子 OpenCV在iOS端的集成及Mat和UIImage互相转化(附源码) 废话不多说直接上代码,伸手党福利: 代码 ...

  9. python读取一个图像_从图像处理python的文件中读取多个图像

    嗨,我有一个脚本来运行图像处理.但是我想用一个循环或者其他方法从一个文件中读取多个图像 例如C:\Users\student\Desktop\Don\program (opencv version)\ ...

最新文章

  1. python基础语法有哪些-Python基础语法
  2. 在AngularJS的controller外部直接获取$scope
  3. 如何在PowerPoint中自动调整图片大小
  4. C++(STL):35---multimap容器
  5. Introducing the ClearGLASS App on ClearOS
  6. 5个python标准库及作用_零基础编程——Python标准库使用
  7. 局域网共享设置——权限问题
  8. 偏差平方和说明什么_什么是平方误差和均方误差
  9. 项目进度管理方法——里程碑
  10. 人大金仓再获太极股份近2亿元增资,剑指中国数据库领域头把交椅
  11. java通过poi导出excel和pdf
  12. Eclipse - 更换新的工作空间后,怎么把上一个工作空间的配置复制过来
  13. JPEG、GIF、PNG、BMP哪种图片格式的图片清晰一点
  14. recon-ng详细使用教程
  15. 青海电大随学随考计算机,[青海电大]17秋随学随考心理学作业4题目
  16. PLC与运动控制器有什么不同?为什么运动控制器比PLC好?
  17. horizon 申请证书
  18. Python 爬虫实例(6)—— 爬取蚂蚁免费代理
  19. Ubuntu系统的基础操作和使用
  20. 北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛(同步赛)

热门文章

  1. PHP strtotime 的 BUG
  2. STATA:加i.year和不加i.year的区别
  3. 洛谷 P2559 [AHOI2002]哈利·波特与魔法石
  4. Android 集成 ShareSdk 记录
  5. 我在研究院的新兵训练
  6. android服务器打包jar,Android Studio打包apk,aar,jar包方法
  7. python 系统托盘_python3 tkinter写出来的程序最小化到系统托盘
  8. 数据仓库学习(二)——数据仓库建模
  9. 软件工程双人项目总结——夏睿张静
  10. Loading PDSC Debug Description failed for STMicroelectronics STM32F103ZF Disabling usage of PDSC Deb