cv2是一个常用的计算机视觉库,全名为OpenCV(Open Source Computer Vision Library)。它提供了丰富的图像处理和计算机视觉相关的函数和工具,可以用于加载、处理、分析和操作图像和视频数据。在使用cv2库之前,我们需要通过pip或者conda安装cv2,然后在代码中导入cv2库。
import cv2
下面介绍一些cv2库中常用的功能:
1.加载和显示图像
image_path = "./1.jpg"
#图片路径
image = cv2.imread(image_path)
cv2.imshow("Image", image)
#显示图像
cv2.waitKey(0)
# 等待键盘输入,参数为0表示无限等待
cv2.destroyAllWindows()
# 关闭所有窗口
2.保存图像
使用cv2库中的imwrite
函数可以将图像保存到指定文件中。
cv2.imwrite("name.jpg", image)
3.旋转图像
使用cv2库中的getRotationMatrix2D
和warpAffine
函数可以实现图像的旋转。
import numpy as np
angle = 45
# 逆时针旋转角度
center = (image.shape[1] // 2, image.shape[0] // 2)
# 图像中心点坐标
M = cv2.getRotationMatrix2D(center, angle, 1.0)
# 获取旋转矩阵
rotated_image = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))
# 进行旋转
4.裁剪图像
box = (100, 100, 400, 300)
# 裁剪框的位置 (left, upper, right, lower)
cropped_image = image[box[1]:box[3], box[0]:box[2]]
5.添加文字水印
使用cv2库中的putText
函数可以在图像上添加文本水印。需要指定文本内容、位置、字体、大小、颜色等参数。
text = "Watermark"
font = cv2.FONT_HERSHEY_SIMPLEX
position = (10, 50)
# 文本位置
font_scale = 1
# 字体大小
color = (255, 255, 255)
# 文本颜色,BGR格式
thickness = 2
# 文本粗细
cv2.putText(image, text, position, font, font_scale, color, thickness)
6.添加滤镜效果
使用cv2库中的filter2D
函数可以为图像应用各种滤镜效果。
import numpy as np
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]])
# 锐化滤镜
filtered_image = cv2.filter2D(image, -1, kernel)
以上是cv2库中的一些常使用的功能。