Python OpenCV 读取并显示图像

01-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后即可显示结果,结果如下:

参考

时间: 2024-08-04 02:31:01

Python OpenCV 读取并显示图像的相关文章

python opencv 读取视频文件并显示

06-python opencv 读取视频文件并显示 06-python opencv 读取视频文件并显示 概述 实现过程 引用 创建摄像头对象 逐帧显示实现视频播放 释放摄像头对象和窗口 源代码 运行结果 参考 概述 本节实现的是使用内建摄像头捕获视频,并显示视频的每一帧以实现视频的播放. 创建摄像头对象,指向文件 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下. import cv2 import numpy 创建摄像头对象 使用opencv自带的VideoCapture()函数定

python opencv 读取视频文件并保存

06-python opencv 读取视频文件并保存 06-python opencv 读取视频文件并保存 概述 实现过程 引用 创建摄像头对象 定义写入视频格式和写入对象 逐帧显示视频并写入 释放摄像头对象和窗口 源代码 运行结果 参考 概述 本节实现的是使用内建摄像头捕获视频,并保存视频. 创建摄像头对象 逐帧显示实现视频播放 保存摄像头的每一帧图像 实现过程 引用 不再赘述,代码如下. import cv2 import numpy 创建摄像头对象 使用opencv自带的VideoCapt

python opencv 使用 Matplotlib显示图像

05-python opencv 使用 Matplotlib显示图像 05-python opencv 使用 Matplotlib显示图像 概述 实现过程 引用 测试灰度图像 测试彩色图像 等待键盘输入并关闭所有窗口 源代码 运行结果 灰度图像 彩色图像 参考 概述 本节实现的是同时使用opencv和matplotlib两种方式来显示图像,以比较二者之间的差别. 测试灰度图像 测试彩色图像 分析彩色图像出现差异的原因 实现过程 引用 不再赘述,代码如下. import cv2 import nu

一文贯通python文件读取

不论是数据分析还是机器学习,乃至于高大上的AI,数据源的获取是所有过程的入口. 数据源的存在形式多为数据库或者文件,如果把数据看做一种特殊格式的文件的话,即所有数据源都是文件.获得数据,就是读取文件的操作,文件有各种各样的格式即数据的组织形式,如何方便快捷地获取文件中的内容呢? 还是那句名言,life is short, just use python. 操作基础 在python 中,文件的操作分为面向目录和面向文件的,本质都是一样的. 面向目录的常见操作见下表: 面向文件的常见操作见下表: 在

Python文件读取的3种方法及路径转义

  这篇文章主要介绍了Python文件读取的3种方法及路径转义,本文分别给出读取文件的代码实例,最后讲解了路径转义的相关知识.小技巧,需要的朋友可以参考下 1.文件的读取和显示 方法1: 代码如下: f=open(r'G:2.txt') print f.read() f.close() 方法2: 代码如下: try: t=open(r'G:2.txt') print t.read() finally: if t: t.close() 方法3: 代码如下: with open(r'g:2.txt'

Python xlrd读取excel日期类型的2种方法

  这篇文章主要介绍了Python xlrd读取excel日期类型的2种方法,本文同时讲解了xlrd读取excel某个单元格的方法,需要的朋友可以参考下 有个excle表格需要做一些过滤然后写入数据库中,但是日期类型的cell取出来是个数字,于是查询了下解决的办法. 基本的代码结构 代码如下: data = xlrd.open_workbook(EXCEL_PATH) table = data.sheet_by_index(0) lines = table.nrows cols = table.

list-!求助:python 列表读取时的问题

问题描述 !求助:python 列表读取时的问题 project euler problem 81题我写了下面的代码,origin里面是5x5的矩阵,运行结果正常但是我把origin换成一个80x80的矩阵的时候,在读取383568的时候却读取成了326735我没有找出代码的问题,但是在codepad和terminal上运行也是错误答案求助大牛啊!!大恩不言谢 origin = ['13167323410318' '20196342965150' '630803746422111' '53769

openni-关于使用opencv读取kinect深度信息和彩色图像并显示

问题描述 关于使用opencv读取kinect深度信息和彩色图像并显示 VideoCapture capture(CV_CAP_OPENNI) 使用这个的前提是不是必须要安装OPENNI啊? 解决方案 不需要,直接获取数据岛OpenCV中进行运算.

注释行及空行-如何才能实现python文件读取中对注释行的识别

问题描述 如何才能实现python文件读取中对注释行的识别 本人有一个任务,要求用python读取某一文件中的注释行,空行和编码行,哪位大神知道怎么做,求教 解决方案 主要是按行读取,然后就是写出判断逻辑来勘测行是否为注视行,空行,编码行 解决方案二: 主要是按行读取,然后就是写出判断逻辑来勘测行是否为注视行,空行,编码行 解决方案三: python读取文件指定行(linecache模块)python读取文件指定行(linecache模块)python读取文件末尾N行 解决方案四: 学习一下!!