Python OpenCV 读取并显示图像

01-Python OpenCV 读取并显示图像


概述

Python作为一门极其易学的语言,在科学计算等领域存在较大的应用,同样,著名的OpenCV库也发布了支持Python的库,本节主不再介绍如何在Ubuntu上配置Python OpenCV,有需要的同学可以参考这里

本节将利用Python OpenCV做一个简单的测试,即

  • 打开一个图片并显示
  • 创建一个空图并显示
  • 将彩色图像转成灰度图像并显示

实现过程

引用

这里我们需要引用cv2和numpy,cv2不言而喻,而NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,这里在引用时把numpy重命名为np。

import cv2  
import numpy as np 

打开图片并显示

cv2库里的函数imread()用来读取图片,imshow()可用于显示图片,此外imwrite可以用来写图片,即保存图片。这里把显示图片的窗口指定为“Image”。

img = cv2.imread("./cat.png") 
cv2.imshow("Image", img) 

创建一个空图

numpy里有函数np.zeros用来创建零值矩阵,该函数的第一个参数为矩阵大小,这里是刚才读入图片的大小,即img.shape,第二个参数为数据类型,为uint8类型。指定显示该图片的窗口为“emptyImage”。

emptyImage = np.zeros(img.shape, np.uint8)
cv2.imshow("EmptyImage", emptyImage) 

将彩色图像转成灰度图像

利用opencv自带的cvtColor可以将彩色图像转成灰度图像,这里主要是参数cv2.COLOR_BGR2GRAY进行说明的,指定显示该灰度图片的窗口为“emptyImage2”。

emptyImage2 = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
cv2.imshow("EmptyImage2", emptyImage2) 

等待键盘输入并关闭所有窗口

这里cv2.waitKey里的参数0表示等待输入任何按键,当用户输入任何一个按键后即调用destroyAllWindows()关闭所有图像窗口。

cv2.waitKey (0)  
cv2.destroyAllWindows() 

源代码

整个程序的源代码如下:

import cv2  
import numpy as np  

img = cv2.imread("./cat.png")  
emptyImage = np.zeros(img.shape, np.uint8)  
emptyImage2=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)   

cv2.imshow("EmptyImage", emptyImage)  
cv2.imshow("Image", img)  
cv2.imshow("EmptyImage2", emptyImage2)   

cv2.waitKey (0)  
cv2.destroyAllWindows() 

也可以参考我的GitHub上的,点击这里

运行结果

在命令行进入该源程序所在目录后,运行python main.py后即可显示结果,结果如下:
运行结果

参考

  • 7
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值