📜  使用具有高度和宽度的 opencv 裁剪图像 - Python (1)

📅  最后修改于: 2023-12-03 14:49:52.919000             🧑  作者: Mango

使用具有高度和宽度的 OpenCV 裁剪图像 - Python

OpenCV 是一种广泛使用的计算机视觉库,它允许我们对图像和视频进行处理、分析和操作,同时提供了一些常用的计算机视觉算法。在 OpenCV 中,我们可以使用多种方法裁剪图像。

1. 安装 OpenCV

在使用 OpenCV 前,需要先安装该库。可以使用 pip 命令安装:

pip install opencv-python
2. 裁剪图像
2.1. 按照指定区域裁剪

OpenCV 提供了 cv2.imread() 方法读取图像,该方法返回一个 numpy.array 对象。我们可以使用 numpy.array 对象的切片操作,指定要裁剪的区域,并将其保存到新的图像中。以下示例演示了如何裁剪指定区域的图像:

import cv2

# 读取图像
img = cv2.imread("image.jpg")

# 指定裁剪区域
x, y, w, h = 100, 100, 200, 200
crop_img = img[y:y+h, x:x+w]

# 显示原始图像和裁剪后的图像
cv2.imshow("Original Image", img)
cv2.imshow("Cropped Image", crop_img)

# 等待按键后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
2.2. 按照比例裁剪

另一种裁剪图像的方法是按照指定的比例来裁剪。这种方法是通过计算图像的宽度和高度的一部分来完成的,因此在不同的图像上都可以使用。

以下示例演示了如何按照比例裁剪图像:

import cv2

# 读取图像
img = cv2.imread("image.jpg")

# 按照比例裁剪
scale_percent = 50 # 缩小图像的比例
width = int(img.shape[1] * scale_percent / 100)
height = int(img.shape[0] * scale_percent / 100)
dim = (width, height)
resize_img = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)

# 显示原始图像和裁剪后的图像
cv2.imshow("Original Image", img)
cv2.imshow("Resized Image", resize_img)

# 等待按键后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
3. 总结

本文介绍了如何使用 OpenCV 来裁剪图像。我们可以按照指定区域或比例来裁剪图像,并且可以通过将裁剪后的图像保存到新的文件中来使用。OpenCV 在计算机视觉领域中广泛使用,因此这些方法可以帮助开发人员更有效地处理和操作图像。