python+opencv图像处理之二:图像基础处理

python+opencv图像处理之二:图像基础处理

一、图片基本操作

1、图像读取

opencv中图像读取主要采用以下几种函数:

img = cv2.imread(文件名,[,参数])
参数(1) cv2.IMREAD_UNCHANGED (图像不可变)
参数(2) cv2.IMREAD_GRAYSCALE (灰度图像)
参数(3) cv2.IMREAD_COLOR (读入彩色图像)
参数(4) cv2.COLOR_BGR2RGB (图像通道BGR转成RGB)

2、图像显示

opencv中图像显示主要采用函数:

cv2.imshow(窗口名, 图像名)

3、图像显示窗口等待

opencv中窗口等待函数为:waitKey(delay)

delay表示等待的时长,单位是毫秒
如果要等待5秒种,则可以让delay的值为5000。5秒钟之后,如果还没有按键被按下,则窗口直接退出。
delay值为0时,表示一直等待,直到有按键被按下。

如果没有调用这个函数,在调用imshow显示图片时,显示图像窗口会一闪而过。

4、图像显示窗口的删除

opencv中删除图像显示窗口的函数为:

cv2.destroyAllWindows() 删除所有窗口
cv2.destroyWindow() 删除指定的窗口

5、图片另存为

在opencv+python进行图片处理之后,如果我们需要对处理后的图片进行保存,则采用以下函数:

cv2.imwrite(文件地址, 文件名)

6、图片基本操作

代码中,图片读取与显示主要调用以上两种方法

# -*- coding:utf-8 -*-
import cv2

#读取图片
img = cv2.imread("test.jpg")

#显示图像
cv2.imshow("Demo", img)

#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()

#写入图像
cv2.imwrite("test1.jpg", img)

图像显示窗口如下:
在这里插入图片描述
在图片显示过程中如果不进行窗口关闭,图片会一直显示。
在这里插入图片描述
将图片另存为test1.jpg

二、图像属性获取

1、图像形状属性(shape)

通过shape关键字获取图像的形状,返回包含行数、列数、通道数的元祖。
灰度图像返回行数和列数,彩色图像返回行数、列数和通道数。

# -*- coding:utf-8 -*-
import cv2
import numpy

#读取图片
img = cv2.imread("test.jpg", cv2.IMREAD_UNCHANGED)

#获取图像形状
print(img.shape)

#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

2、图像像素数目(size)

通过size关键字获取图像的像素数目
灰度图像返回行数 * 列数,彩色图像返回行数 *列数 * 通道数

# -*- coding:utf-8 -*-
import cv2
import numpy

#读取图片
img = cv2.imread("test.jpg", cv2.IMREAD_UNCHANGED)

#获取图像形状
print(img.shape)

#获取像素数目
print(img.size)

程序执行结果如下:
在这里插入图片描述

3、图像类型(dtype)

opencv中通过dtype关键字获取图像的数据类型,通常返回uint8

# -*- coding:utf-8 -*-
import cv2
import numpy

#读取图片
img = cv2.imread("test.jpg", cv2.IMREAD_UNCHANGED)

#获取图像类型
print(img.dtype)

在这里插入图片描述

参考博客:https://blog.csdn.net/guanguanboy/article/details/106824241
https://blog.csdn.net/Eastmount/article/details/82177300

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值