有人能告诉我如何将图像分成上下两部分吗?这样我就可以重叠它们。例如,我有一个图像,我应该将它划分以计算每个部分的像素数。我是 OpenCV 的新手,并不完全了解图像的几何形状。
原文由 AinurZhappass 发布,翻译遵循 CC BY-SA 4.0 许可协议
有人能告诉我如何将图像分成上下两部分吗?这样我就可以重叠它们。例如,我有一个图像,我应该将它划分以计算每个部分的像素数。我是 OpenCV 的新手,并不完全了解图像的几何形状。
原文由 AinurZhappass 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了简化@avereux 的回答:
在 Python 中,您可以使用拼接将图像分解为子图像。语法是:
sub_image = full_image[y_start: y_end, x_start:x_end]
请注意,对于图像,原点是图像的左上角。因此,图像第一行(即最上面的一行)上的像素的坐标为 x_coordinate = x, y_coordinate = 0
要获取图像的形状,请使用 image.shape
。这将返回 (no_of_rows, no_of_cols)
您可以使用它们以任何您想要的方式分解图像。
原文由 Shawn Mathew 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答861 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
您可以水平裁剪图像的顶部和底部。
打开图像。
使用
image.shape
让我们捕获高度和宽度变量。现在我们可以开始裁剪了。
最后,我们可以使用
image.size
给出每个部分的像素数。你可以用轮廓做同样的事情,但它会涉及边界框。