使用 OpenCV-Python 裁剪图像
裁剪图像是我们在项目中执行的最基本的图像操作之一。在本文中,w 将讨论如何在Python中使用 OpenCV 裁剪图像。
分步实施
为此,我们将采用下图所示的图像。
第 1 步:读取图像
cv2.imread() 方法从指定文件加载图像。如果无法读取图像(由于文件丢失、权限不当、格式不受支持或无效),则此方法返回一个空矩阵。
注意:当我们使用cv2.imread()在 OpenCV 中加载图像时,我们将其存储为Numpy n 维数组。
示例:读取图像的Python程序
Python3
import cv2
# Read Input Image
img = cv2.imread("test.jpeg")
# Check the type of read image
print(type(img))
# Display the image
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Python3
import cv2
# read the image
img = cv2.imread("test.jpeg")
print(type(img))
# Check the shape of the input image
print("Shape of the image", img.shape)
Python3
import cv2
img = cv2.imread("test.jpeg")
print(type(img))
# Shape of the image
print("Shape of the image", img.shape)
# [rows, columns]
crop = img[50:180, 100:300]
cv2.imshow('original', img)
cv2.imshow('cropped', crop)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出:
第 2 步:获取图像尺寸
我们可以看到' img '的类型为' numpy.ndarray '。现在,我们只需将数组切片应用于 NumPy 数组并生成裁剪后的图像,因此我们必须找到图像的尺寸。为此,我们将使用 image.shape 属性。
句法:
image.shape
其中 image 是输入图像
示例:用于查找图像尺寸的Python代码,
蟒蛇3
import cv2
# read the image
img = cv2.imread("test.jpeg")
print(type(img))
# Check the shape of the input image
print("Shape of the image", img.shape)
输出:
第 3 步:切片图像
现在我们可以应用数组切片来产生我们的最终结果。
句法 :
image[rows,columns]
在哪里
- 行是行切片
- columns 是列切片
例子:
蟒蛇3
import cv2
img = cv2.imread("test.jpeg")
print(type(img))
# Shape of the image
print("Shape of the image", img.shape)
# [rows, columns]
crop = img[50:180, 100:300]
cv2.imshow('original', img)
cv2.imshow('cropped', crop)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出: