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