图像处理的基本操作

一、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)
五、总结
相关推荐
youcans_4 天前
【AI辅助编程】ROP 图像预处理
图像处理·人工智能·ai编程·辅助编程
sali-tec4 天前
C# 基于OpenCv的视觉工作流-章27-图像分割
图像处理·人工智能·opencv·算法·计算机视觉
saoys4 天前
Opencv 学习笔记:腐蚀操作 + 轮廓标记 + 分水岭分割
笔记·opencv·学习
saoys4 天前
Opencv 学习笔记:距离变换(DIST_L1 算法实战 + 归一化)
笔记·opencv·学习
unicrom_深圳市由你创科技4 天前
医疗设备专用图像处理板卡定制
图像处理·人工智能·fpga开发
guygg884 天前
图像匹配技术:相关匹配、Hausdorff距离匹配与基于距离变换的Hausdorff距离匹配
图像处理·opencv·计算机视觉
qq_526099134 天前
图像采集卡:机器视觉系统的“数据中枢”,解锁精准成像新可能
图像处理·数码相机·计算机视觉·自动化
AI科技星4 天前
物理世界的几何建构:论统一场论的本体论革命与概念生成
人工智能·opencv·线性代数·算法·矩阵
fie88895 天前
基于Matlab实现的指纹识别系统流程
opencv·计算机视觉·matlab
sali-tec5 天前
C# 基于OpenCv的视觉工作流-章26-图像拼接
图像处理·人工智能·opencv·算法·计算机视觉