欢迎光临散文网 会员登陆 & 注册

使用OpenCV和Python(正确)旋转图像(P3)

2022-02-09 15:21 作者:闲予1217  | 我要投稿

用OpenCV和Python修复旋转图像“截断”问题

让我们回到我最初的旋转长方形药丸的问题,以及我如何使用.rotate_bound来解决这个问题(尽管当时我还没有创建imutils Python包——它只是帮助文件中的一个实用函数)。

我们将使用以下药丸作为示例图像:

我们将使用OpenCV旋转的长方形药丸示例。

首先,打开一个新文件并将其命名为rotate_pills.py。然后插入以下代码:

第3-6行导入我们所需的Python包。同样,在继续之前,请确保已安装和/或升级imutils Python包。

然后在第9-12行解析命令行参数。就像博客文章开头的例子一样,我们只需要一个开关:--image,即输入图像的路径。

接下来,我们从磁盘加载药丸图像,并通过将其转换为灰度、模糊和检测边缘对其进行预处理:

执行这些预处理功能后,我们的药丸图像现在如下所示:

检测药丸的边缘。

药丸的轮廓清晰可见,所以让我们应用轮廓检测来找到药丸的轮廓:

我们现在准备从图像中提取药丸ROI:

首先,我们确保在边缘图(第26行)中至少找到一个等高线。

如果我们至少有一个轮廓,我们为第30行和第31行上的最大轮廓区域构造一个遮罩。

我们的面具是这样的:

代表图像中整个药丸区域的遮罩。

未完待续...

使用OpenCV和Python(正确)旋转图像(P3)的评论 (共 条)

分享到微博请遵守国家法律