当前位置:   article > 正文

OpenCV中读取、显示、保存图像及获取图像属性操作讲解及演示(附源码)_什么函数可以查找图像数据类型 opencv

什么函数可以查找图像数据类型 opencv

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

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

整体结构如下

 

一、读取图像

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

image=cv2.imread(filename,flags)

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

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

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

 

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

代码如下

  1. import cv2
  2. # 读取3.1.jpg,等价于image = cv2.imread("3.1.jpg"1)
  3. image = cv2.imread("3.1.jpg")
  4. 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 负数或者为空时,表示无限等待用户按下键盘上按键的时间

显示图像演示如下

 

同样也可以显示灰度图 

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

 三、保存图像

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

cv2.imwrite(filename,img)

参数说明

filename:保存图像时的路径

img:要保存的图像

保存图像演示

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

 四、获取图像属性

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

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

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

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

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

 

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

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号