📜  使用 OpenCV-Python 裁剪图像

📅  最后修改于: 2022-05-13 01:54:23.291000             🧑  作者: Mango

使用 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]

在哪里

  1. 行是行切片
  2. 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()

输出