一.安装CV2(opencv)模块
pip install opencv-python
二.使用imread读取图片
使用函数cv2.imread(filepath,flags)读入一副图片
- filepath:要读入图片的完整路径
- flags:读入图片的标志
- cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道。alpha通道代表透明度效果,取值0-1
- cv2.IMREAD_GRAYSCALE:读入灰度图片,返回黑白图
- cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道,返回彩色图
pic1=cv2.imread("D:/autotest/11.png",cv2.IMREAD_UNCHANGED) pic2=cv2.imread("D:/autotest/11.png",cv2.IMREAD_GRAYSCALE) pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_COLOR)
三.使用imshow显示图像
- cv2.imshow(wname,img):第一个参数(wname)是显示图像的窗口的名字,第二个参数(img)是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小。
- cv2.waitKey():等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片。
- cv2.destroyAllWindow():销毁所有窗口
- cv2.destroyWindow(wname):销毁指定窗口
pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_COLOR) #读取文件 cv2.imshow('pic3',pic3) #显示图片 cv2.waitKey(5000) #等待时间,单位ms cv2.destroyAllWindows() #关闭窗口
四.使用flip翻转图像
使用函数cv2.flip(img,flipcode)翻转图像
- img:读取的图像内容
- flipcode:控制翻转效果,复制图像。
- flipcode = 0:沿x轴翻转,上下翻转
- flipcode > 0:沿y轴翻转
- flipcode < 0:x,y轴同时翻转
pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_COLOR) pic4=cv2.flip(pic3,0) cv2.imshow('pic3',pic4) cv2.waitKey(5000) cv2.destroyAllWindows()
五.使用cvtColor转换颜色
cv2.cvtColor
是 OpenCV 库中的一个函数,用于转换图像颜色。基本语法为:
cv2.cvtColor(src, code)
参数说明:
src
:源图像,是一个三通道的图像(例如,BGR)。code
:转换的代码,这是一个特定的值,指定了要执行的颜色空间转换。例如,cv2.COLOR_BGR2GRAY
将把一个彩色图像转换为灰度图像。色调H、亮度L、饱和度S、亮度V、A透明度。以下是一些常见的code
值:
-
cv2.COLOR_BGR2BGRA
:将 BGR 图像转换为 BGRA 图像(添加 Alpha 通道)。cv2.COLOR_BGR2GRAY
:将 BGR 图像转换为灰度图像。cv2.COLOR_BGR2HSV
:将 BGR 图像转换为 HSV 图像。cv2.COLOR_BGR2Lab
:将 BGR 图像转换为 Lab 图像。cv2.COLOR_BGR2Luv
:将 BGR 图像转换为 Luv 图像。cv2.COLOR_BGRA2BGR
:将 BGRA 图像转换为 BGR 图像。cv2.COLOR_BGRA2GRAY
:将 BGRA 图像转换为灰度图像。cv2.COLOR_BGRA2HSV
:将 BGRA 图像转换为 HSV 图像。cv2.COLOR_BGRA2Lab
:将 BGRA 图像转换为 Lab 图像。cv2.COLOR_BGRA2Luv
:将 BGRA 图像转换为 Luv 图像。cv2.COLOR_GRAY2BGR
:将灰度图像转换为 BGR 图像。cv2.COLOR_GRAY2BGRA
:将灰度图像转换为 BGRA 图像(添加 Alpha 通道)。cv2.COLOR_GRAY2HSV
:将灰度图像转换为 HSV 图像。cv2.COLOR_GRAY2Lab
:将灰度图像转换为 Lab 图像。cv2.COLOR_GRAY2Luv
:将灰度图像转换为 Luv 图像。cv2.COLOR_HSV2BGR
:将 HSV 图像转换为 BGR 图像。cv2.COLOR_HSV2BGRA
:将 HSV 图像转换为 BGRA 图像(添加 Alpha 通道)。
- 返回值:转换后的图像。
pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_COLOR) pic4=cv2.cvtColor(pic3,cv2.COLOR_BGR2GRAY) #返回黑白图 cv2.imshow('pic3',pic4) cv2.waitKey(5000) cv2.destroyAllWindows()
六.使用putText给图像添加文本
cv2.putText
是 OpenCV 库中的一个函数,用于在图像上绘制文本。它可以将指定的文本绘制在图像上,并可以设置文本的字体、大小、颜色等属性。基本语法为:
img
:要绘制文本的图像。text
:要绘制的文本字符串。org
:文本的起始坐标(即左下角坐标)。font
:要使用的字体。fontScale
:字体的大小比例,与字体大小有关。color
:文本的颜色。thickness
:文本线的宽度(如果为负数,则 OpenCV 会自动计算)。lineType
:线的类型。bottomLeftOrigin
:这个参数是False,坐标系统是从左上角到右下角,如果为True,则是从左下角到右上角。
pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_COLOR) Font=cv2.FONT_HERSHEY_DUPLEX #使用的字体 pic4=cv2.putText(pic3,"Hello Word",(150,150),Font,1,(0,0,255),2,) #使用的文本字符为中文时乱码 cv2.imshow('pic4',pic4) cv2.waitKey(5000) cv2.destroyAllWindows()
七.使用resize()缩放图像
resize()
是一个常见的函数,用于改变图像或视频的尺寸。用于调整视频的大小的方法是先读取视频帧,然后对每一帧进行大小调整。基本语法为:
cv2.resize(img, (w,h), interpolation)
- img:被缩放图片的内容
- (w,h):缩放后的图像尺寸
- interpolation:缩放图像的方法
-
- cv2.INTER_NEAREST # 最邻近差值法
- cv2.INTER_LINEAR # 双线性差值法
- cv2.INTER_AREA # 基于局部像素的重采样法(cv2.INTER_AREA方法能够最大程度保证图像的缩放质量)
- cv2.INTER_CUBIC # 三次差值法
- cv2.INTER_LANCZOS4 # 基于8*8像素邻域的Lanczos差值法
#读取图片内容
pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_COLOR)
#对图片进行缩放 pic4=cv2.resize(pic3, (1800, 1600))
#显示缩放前后的图片 cv2.imshow('1111',pic3) cv2.imshow('12',pic4) cv2.waitKey(5000) cv2.destroyAllWindows()
八.使用image.shape获取图像的维度信息
image.shape
是一个在Python的OpenCV库中常用的属性,用于获取图像的维度信息。对于彩色图像,通常每个像素包含三个通道(红、绿、蓝),而对于灰度图像,只有一个通道。image.shape
返回一个元组,表示图像的尺寸。这个元组的元素个数取决于图像是彩色还是灰度。对于彩色图像,元组包含三个元素:高度、宽度和通道数(通常为3,对应红、绿、蓝)。对于灰度图像,元组包含两个元素:高度和宽度。例如,对于一个200x200像素的彩色图像,image.shape
返回(200, 200, 3)
。对于一个200x200像素的灰度图像,image.shape
返回(200, 200)
。
#读入灰度图片,返回黑白图 pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_GRAYSCALE) num_channels=pic3.shape print(num_channels) #输出:(720, 1280) #使用cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道,返回彩色图 pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_UNCHANGED) #使用shape获取维度信息 num_channels=pic3.shape print(num_channels) #输出:(720, 1280, 4)
九.使用cv2.imwrite保存图片
cv2.imwrite
是 OpenCV 库中的一个函数,用于将图像写入文件。但是cv2.imwrite
函数只接受 BGR 格式的图像,而不是 RGB 格式。如果图像是 RGB 格式,需要使用 cv2.cvtColor
将其转换为 BGR 格式,然后再写入文件。基本语法为:
cv2.imwrite(filename, img)
- filename:要保存图像的文件名,包括文件格式,如 .jpg、.png 等。
- img:要写入文件的图像,通常是一个 NumPy 数组。
#读取图片 pic3=cv2.imread("D:/autotest/11.png",cv2.IMREAD_COLOR) #对读取的图片进行缩放 pic4=cv2.resize(pic3, (1800, 1600)) #将缩放后的图片pic4保存到D:/autotest,名称为13,格式为jpg的图片 cv2.imwrite("D:/autotest/13.jpg",pic4)
标签:python,cv2,pic3,COLOR,灰度,模块,图像,IMREAD From: https://www.cnblogs.com/qq771293871/p/17866903.html