将图像裁剪成单独的部分

Posted

技术标签:

【中文标题】将图像裁剪成单独的部分【英文标题】:crop image into individual parts 【发布时间】:2021-10-04 08:13:03 【问题描述】:

我使用语义分割来对图像中的不同元素进行颜色编码,如下所示。

在Python中,我想根据第二张图片的颜色将原始图片裁剪成许多小图片,这样沙发就变成了一个裁剪的部分,灯变成了一个等等。沙发上枕头的重叠可以忽略不计。假设我有一个图像的 3D 数组,我想将该数组分成单独的彩色部分,并在裁剪原始图像时应用这些元素的坐标。我应该如何做到这一点?

【问题讨论】:

到目前为止你尝试了什么?你被困在哪里了?您是否能够检测/识别彩色区域?这可以通过应用称为"image segmentation" 的方法来实现。由于有许多不同的方法可以识别这些区域,因此您应该提供有关您选择的方法/工具的更多详细信息。 @albert 我正在使用开源代码,它输出第二张图像(彩色编码的一张)。代码很长,但我会附上图像处理部分的函数。 【参考方案1】:

你可以这样做:

找出分割图像中唯一颜色的数量 - 见here 遍历该颜色列表,使该颜色为白色,其他所有颜色为黑色,然后 findContours() 获取边界框并将该边界框的内容保存为 PNG。

【讨论】:

其实这里有一个非常相似的答案...***.com/a/65392173/2836621

以上是关于将图像裁剪成单独的部分的主要内容,如果未能解决你的问题,请参考以下文章

裁剪不规则形状的图像

将图像裁剪成圆形

以圆形裁剪图像

裁剪区域不是矩形时裁剪图像

如何将 Landsat 图像裁剪成更小的块进行训练,然后在原始图像上进行预测

如何使用(非方形)曲奇模板裁剪照片?