【图像篇】OpenCV图像处理(二)---图像读取与显示

2022-06-01 19:03:10 浏览数 (1)

前言

在上一篇文章中,我们简要介绍了图像的基础知识,包括图像彩色通道,像素,分辨率等知识,学会这些东西,我们才能更好的理解图像处理的各种操作,今天,我们将会用上一篇文章(【图像篇】opencv图像处理(一)---图像基础知识)提到的工具--OpenCV,并用python语言调用OpenCV接口来进行实际的代码操作,一起来看看吧!

01

一、python-OpenCV环境搭建

千里之行,始于足下,九层之台,其余垒土。学习图像处理,我们必须先搭建好相应的编程环境,python环境可以参考这篇文章(python环境搭建(番外篇)---那些年走过的路),其次在python环境安装好的基础上安装OpenCV,输入以下命令:

pip install opencv-python==3.4.5.20 # 3.0以上版本即可

最后,你需要拥有python编程的基础知识,可以参考这些文章(python学习历程之----基础篇(一))

02

二、图像读取和显示

先来看看我们的原始图片:

1. 代码实践

#coding:utf-8

import cv2

# 读取图像

src_image = cv2.imread("bridge.jpg")

# 打印OpenCV读取的图像数据

print(src_image)

# 创建窗口,显示图像,窗口名称为src_image

cv2.imshow("src_image",src_image)

# 等待任意按键按下,保持图片始终显示

cv2.waitKey(0)

# 关闭所有的窗口

cv2.destroyAllWindows()

代码解读:该实例代码中较为重要的函数是读取函数 cv2.imread(),和显示函数cv2.imshow(),读取函数中一般会是两个参数,一个是图像的路径,一个是读入图像的方式(灰度读入,没有这个参数就是默认为彩色图像显示), cv2.imread()函数读取后的图像通道顺序为BGR,因此一般用OpenCV读取的图像都会再次进行图像转换为RGB顺序,然后再来进行其他操作。cv2.imshow()函数包括两个参数,第一个参数是显示窗口名字,第二个参数是需要保存的图像数据。

2.效果显示:

03

三、图像保存

1. 代码实践

#coding:utf-8

import cv2

# 读取图像

src_image = cv2.imread("bridge.jpg")

# 保存图像

cv2.imwrite('save_bridge.jpg', src_image)

print("图像保存成功!")

代码解读:该实例代码中主要关注cv2.imwrite()函数,包含两个参数,第一个是存储后图像的名字,第二个是需要存储的图像数据。

2.效果显示:

04

四、图像信息打印

1. 代码实践

#coding:utf-8

import cv2

# 读取图像

src_image = cv2.imread("bridge.jpg")

image_width = src_image.shape[1]

image_height = src_image.shape[0]

image_channel = src_image.shape[2]

image_data = src_image.dtype

image_type = type(src_image)

print(" ------------------- ------------------ ")

print("|图像属性 | 值 |")

print(" ------------------- ------------------ ")

print("|图像的宽度 | {} |".format(image_width))

print("|图像的高度 | {} |".format(image_height))

print("|图像通道数 | {} |".format(image_channel))

print("|图像数据类型 | {} |".format(image_data))

print("|图像类型 |{} |".format(image_type))

print(" ------------ ------------------------- ")

2.效果显示:

结语

今天的分享结束了,内容较为简单,都是图像处理的基本操作,读取,显示和保存等基本函数的使用,这些都是后面图像处理的基础函数,希望粉丝老铁们下去实践一下哦,我们下期再见!

编辑:玥怡居士|审核:小圈圈居士

0 人点赞