裁剪图像会导致越界错误

Crop an image causes outofbounds error

本文关键字:越界 错误 图像 裁剪      更新时间:2023-10-16

我正在尝试裁剪图像。有时计算出裁剪的图像会伸出初始大小(因为裁剪是通过使用距离来计算的)。怎么可能不接收越界错误,而是用黑色填充其余部分(与 wrapAffine 旋转的效果相同)。

嗯,裁剪根据定义是减小图像的大小。因此,如果您想同时扩展图像并用黑色填充它,您可以先放大它。 类似于以下算法:

  1. 取原始图像的最大边界框和裁剪矩形
  2. 创建新维度的空(黑色)图像
  3. 将原始图像复制到黑色图像中
  4. 裁剪生成的图像

你可以把它包装成一个类,并给它一个与裁剪过滤器相同的接口,那么你就有一个通用的解决方案。