#yyds干货盘点# Windows下Python-openCV学习-------图像处理基本
Posted 玫瑰花店
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# 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)
输出:
以上是关于#yyds干货盘点# Windows下Python-openCV学习-------图像处理基本的主要内容,如果未能解决你的问题,请参考以下文章
Windows 下搭建ActiveMQ环境 #yyds干货盘点#
# yyds干货盘点 # 盘点Python列表的一道基础题目
supervisor管理集群(多个tomcat)#yyds干货盘点#