图像处理的基本操作

一、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)
五、总结
相关推荐
豆浩宇18 分钟前
Halcon OCR检测 免训练版
c++·人工智能·opencv·算法·计算机视觉·ocr
嵌入式杂谈27 分钟前
OpenCV计算机视觉:探索图片处理的多种操作
人工智能·opencv·计算机视觉
红米煮粥29 分钟前
图像处理-掩码
图像处理·opencv·计算机视觉
Zhangci]1 小时前
OpenCv(一)
人工智能·opencv·计算机视觉
RaidenQ10 小时前
2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
图像处理·python·算法·课程设计
Trouvaille ~11 小时前
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
图像处理·python·机器学习·numpy·信号处理·时间序列分析·科学计算
i嗑盐の小F13 小时前
【IEEE出版,高录用 | EI快检索】第二届人工智能与自动化控制国际学术会议(AIAC 2024,10月25-27)
图像处理·人工智能·深度学习·算法·自然语言处理·自动化
shiming887917 小时前
MATLAB图像处理
图像处理·计算机视觉·matlab
点PY20 小时前
基于Sparse Optical Flow 的Homography estimation
人工智能·opencv·计算机视觉
越甲八千20 小时前
opencv滤波算法总结
opencv