python截取图片指定区域?如何使用OpenCV裁剪图像?

2021年11月7日19:28:57 发表评论 3,831 次浏览

如何使用OpenCV裁剪图像?在本视频中,我们将看到 OpenCV 的一个重要且基本的功能,以及如何使用 OpenCV 和 Python精确裁剪图像。对于那些了解 Opencv 的人来说,这似乎是一件无关紧要的事情,但是使用 Python 裁剪图像可以帮助许多学习我课程的初学者。

在本课中,我们将看到关于python截取图片指定区域的内容,如下:

  • 1. 如何垂直或水平裁剪图像
  • 2. 裁剪图像的一部分

1.如何垂直或水平裁剪图像?python如何截取图片?

首先,我们需要将图像加载到我们的项目中。显然,对于使用 Opencv 和 Python 的裁剪图像,我们必须确保正确安装了 OpenCV 库。

如果你还没有安装 Opencv,请先安装。

好吧,既然我们拥有了所有必要的基本元素,我们将继续导入 Opencv 和 Numpy,然后我们还将图像的路径包含在我们的 Python 项目中。

import cv2
import numpy as np
img = cv2.imread("colors.jpg")

现在让我们的cols的图像:

rows, cols, _ = img.shape
print("Rows", rows)
print("Cols", cols)

Rows 代表垂直部分,cols 代表水平部分。如下图所示,我圈出了结果,尺寸正好显示一个矩形。

python截取图片指定区域?如何使用OpenCV裁剪图像?

现在让我们进行第一次水平切割测试。# 剪切图像cut_image = img [ 426 : 853 , 0 : 1280 ]

在代码中,我们设置了水平切割,在图像中,你可以看到第一个测试结果。尝试在图像的最大限制内改变阵列的数量,以更好地理解该过程。

python截取图片指定区域?如何使用OpenCV裁剪图像?

2. python截取图片指定区域:裁剪图像的一部分

如何使用OpenCV裁剪图像?完成上述所有步骤后,要了解如何使用 OpenCV 和 Python 裁剪图像,我们现在需要检索感兴趣区域 (ROI)。如果你想了解有关该主题的更多信息,我推荐有关 ROI的官方 OpenCV指南。为此,我们需要找到以下坐标:

# ROI (Region of interest)
cv2.rectangle(img, (385, 155), (851, 613), (0, 255, 0), 3)
roi = img[155: 613, 385: 851]

python如何截取图片?我首先检查了点的坐标,以便我可以手动输入它们。正如你从图片中看到的,这是最终结果。

python截取图片指定区域?如何使用OpenCV裁剪图像?

你可以注意到有一个小绿框,它不是必须的,你可以通过注释这个函数 cv2.rectangle 来删除它。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: