图像处理的基本操作

一、PyCharm中安装OpenCV模块
二、读取图像
1、基本语法

OpenCV提供了用于读取图像的imread()方法,其语法如下:

python 复制代码
image = cv2.imread(filename,flags)
(1)image:是imread方法的返回值,返回的是读取到的图像
(2)filename:要读取的图像的完整文件名
(3)flags:读取图像类型的标记。默认值为1,表示读取的是彩色图像;为0时表示读取的灰度图像
2、示例

读取当前目录下的图像

python 复制代码
imort  cv2
image = cv2.imread("001.png",1)
print(image)

输出结果:

二、显示图像
1、基本语法

OpenCV提供了imShow()方法、waitKey()方法和destroyAllWindows()方法

(1)imShow()方法
python 复制代码
cv2.imShow(winname,mat)
(1)winname:显示图像的窗口名称
(2)mat:要显示的图像
(2)waitKey()方法

用于等待用户按下键盘上按键的时间。当用户按下键盘上的任意按键时,将执行waitKey方法,并且获取waitKey方法的返回值。其语法格式如下:

python 复制代码
retval = cv2.waitKey(delay)
(1)retval:与被按下的按键相对应的ASCII码
(2)delay:等待用户按下键盘上按键的时间,单位为毫秒(ms)。当delay的值为负数、0或者为空时,表示无限等待用户按下键盘上按键的时间
(3)destroyAllWindows()方法

用于销毁所有正在显示图像的窗口。其语法如下:

python 复制代码
cv2.destroyAllWindows()
2、示例
python 复制代码
import cv2

image = cv2.imread('E:/images/2.png')
print(image)
cv2.imshow('image', image)  //在名为image的窗口中显示图像
cv2.waitKey(2000)  //等待用户按下按键的时间为2秒
cv2.destroyWindow() //销毁所有窗口

注意:
(1)显示图像的窗口名称不能为中文
(2)为了能够正常显示图像,要在cv2.imShow()之后紧跟cv2.waitKey()
三、保存图像
1、基本用法

OpenCV提供了用于按照指定路径保存图像的imwrite()方法,其语法格式如下:

python 复制代码
cv2.imwrite(filename,img)
(1)filename:保存图像时所用的完整路径
(2)img:要保存的图像
2、示例
python 复制代码
import cv2

image = cv2.imread('E:/images/2.png')
cv2.imwrite("E:/images/22222.png", image)
四、获取图像属性
1、常用属性
(1)shape

如果是彩色图像,那么获取的是一个由图像的像素列数、像素行数和通道数所组成的数组;如果是灰度图像,那么

获取的是一个包含图像的像素列数、像素行数的数组

(2)size

获取的是图像包含的像素个数,其值为"像素列数 × 像素行数 × 通道数 "。灰度图像的通道数是1

(3)dtype

获取的是图像的数据类型

2、示例
python 复制代码
import cv2

image = cv2.imread('E:/images/2.png')
print("获取彩色图像的属性:")
print("shape: ", image.shape)
print("size:",image.size)
print("dtype:", image.dtype)

image_gray = cv2.imread('E:/images/2.png',0)
print("获取灰度图像的属性:")
print("shape: ", image_gray.shape)
print("size:",image_gray.size)
print("dtype:", image_gray.dtype)
五、总结
相关推荐
Coding茶水间10 小时前
基于深度学习的水面垃圾检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
renhongxia111 小时前
面向图像处理逆问题的扩散模型研究综述
图像处理·人工智能
自己的九又四分之三站台15 小时前
OpenCV介绍
人工智能·opencv·计算机视觉
那雨倾城17 小时前
YOLO + MediaPipe 在PiscCode上解决多脸 Landmark 中「人脸数量固定」的问题
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
AndrewHZ18 小时前
【图像处理基石】[特殊字符]圣诞特辑:10+经典图像处理算法,让你的图片充满节日氛围感!
图像处理·人工智能·opencv·算法·计算机视觉·stable diffusion·节日氛围感
智驱力人工智能18 小时前
从合规到习惯 海上作业未穿救生衣AI识别系统的工程实践与体系价值 未穿救生衣检测 AI救生衣状态识别 边缘计算救生衣监测设备
人工智能·深度学习·opencv·算法·目标检测·边缘计算
何小义的AI进阶路19 小时前
win下 vscode下 C++和opencv的配置与使用
c++·图像处理·vscode·opencv
自己的九又四分之三站台19 小时前
基于OpenCV扶正扫描文件
人工智能·opencv·计算机视觉·c#
却道天凉_好个秋20 小时前
OpenCV(四十六):OBR特征检测
人工智能·opencv·计算机视觉
却道天凉_好个秋21 小时前
OpenCV(四十五):SURF特征检测
人工智能·opencv·计算机视觉