Windows下Python-openCV学习(二)-------图像处理基本操作

本章简明

读取图像: inmread()方法

显示图像: 
		  imshow()方法
		  waitKey()方法
		  destroyAllWindows()方法

保存图像:
		  imwrite()方法

获取图像属性:
		  
		  shape
		  size
		  dtype

讲解

读取图像

image = cv2.imread(filename,flags)

功能: 读取图像
参数:
	filename :要读取图像的完整文件名称,只写文件名表示当前项目路径。可使用带路径文件名
	flags : 1 表示读取彩色图像  , 0 表示读取灰度图像。如果读取的是彩蛇图像,此参数设为0,可将其转换为灰度图像。此参数默认为 1
	
返回值:读取到的图像数据

示例:

import cv2   #包含openCV的包
image = cv2.imread("2.png",1) #不带路径表示当前项目默认路径
image = cv2.imread("D:/python_learn/opencv_learn/2.png",1)#带完整路径
print(image)

运行结果:
在这里插入图片描述
这里打印的就是图像的数据,具体是什么后面章节会讲解,这里只需知道这是图片的数据信息即可。
我们已经获得了图片的信息,那么如何将这些信息转换为可视化图像呢?
图像的显示
上章节讲解了如何读取图像信息,这里就简介如何将图像信息打印出来,转化成图像信息。

cv2.imshow(winname,mat)

功能 :显示图像
参数 :
		winname 显示图像窗口的名字
		mat	    要显示的图像信息,cv2.imread的返回值
返回值: 无

示例:

import cv2
image = cv2.imread("D:/python_learn/opencv_learn/2.png",1)
cv2.imshow("text",image)#显示图像窗口的名称是text

运行上述代码会发现,图像一闪而过。为什么呢?原因是程序结束了,我们在下面加一个延时看看

import cv2
import time
image = cv2.imread("D:/python_learn/opencv_learn/2.png",1)
cv2.imshow("text",image)
time.sleep(10)

运行发现出现这种情况:
在这里插入图片描述
单纯的阻塞并不能实现,所以openCV中引入了waitKey方法。

阻塞

cv2.waitKey(delay)
功能: 阻塞delay时间,如果delay时间内有任何按键按下解除阻塞。如果delay时间内没有按键按下,一直阻塞delay时间结束
参数:
	   delay 阻塞时间,单位ms,delay为0或者负数、空值时表示无限等待按键按下
返回值:
	   如果有按键按下,返回该按键的ASCII,如果没有按键按下返回-1

加入cv2.waitKey我们在测试一下

import cv2
image = cv2.imread("D:/python_learn/opencv_learn/2.png",1)
cv2.imshow("text",image)
rel=cv2.waitKey(3000)
print(rel)
print("hello world")

不按下按键:
在这里插入图片描述
在这里插入图片描述
3S内按下enter键
在这里插入图片描述
可以看到cv2.waitKey(3000)返回的是13,enter键的ASCII值正是13

销毁图像
就像文件操作一样,如何打开一个文件,操作完毕后肯定要关闭文件。

cv2.destoryAllWindows()
功能:销毁正在显示的所有窗体

示例:

import cv2
image = cv2.imread("D:/python_learn/opencv_learn/2.png",1)
cv2.imshow("text",image)
cv2.waitKey(3000)
cv2.destroyAllWindows()
cv2.waitKey(3000)
print("text")

运行可以看到,前三秒有图像显示,后三秒没有图像显示。

图像的存储

cv2.write(filename,img)
功能:保存图片到指定目录下
参数:
	  filename :文件路径
	  img : 要保存的图像

示例:将图像抓换为灰度图保存在我E盘下的hello_world文件夹中,图片名称为text.png

import cv2
image = cv2.imread("D:/python_learn/opencv_learn/2.png",0)
cv2.imwrite("E:hello_world/text.png",image)

运行
在这里插入图片描述
获取文件属性
在处理图像的过程中,经常需要获取图像的类型、大小等图像属性。openCV提供了:shape、size、dtype三个常用属性

shape :
		如果是彩色图像,获取的是一个包含图像的,水平像素、垂直像素、通道数的数组。
		如果是灰度图像,获取的是一个包含图像的,水平像素、垂直像素的数组

szie:
		获取图像包含的像素个数(像素个数=水平像素x垂直像素x通道数),灰度图像的通道数为1

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

示例:

import cv2
image = cv2.imread("D:/python_learn/opencv_learn/2.png",1)
print("图像的shape属性",image.shape)
print("图像的size属性",image.size)
print("图像的数据类型",image.dtype)

输出:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值