我有几千张图像,其主要特征如附图所示:所有图像都在(几乎)黑色的框架中,而实际图像内容几乎总是在白色背景上。
现在我想旋转实际图像内容,使该内容的左边框垂直。然后我想裁剪(修剪)图像,以便丢弃黑色边框,但完全保留实际内容。也就是说,即使包含实际内容的区域不是完美的矩形,也必须保留该区域的所有内容,这意味着之后黑色边框的剩余部分仍然可见。
考虑到我想要以这种方式处理的图像数量,我想我必须使用命令行工具来完成。过去,我曾使用 ImageMagick 完成此类工作(进行更简单的转换),但我真的不介意结合使用几种不同的工具来完成这项任务。
我已经尝试过的:
我研究过如何对图像进行倾斜校正,这种方法大多数时候都有效。但是,我发现的倾斜校正方法是将文本行设为水平。这很好,因为它使阅读更容易,但当然在大多数情况下,保存文本的区域的边框之后不会分别垂直或水平。这不是我想要的。
为了更详细地解释,我想:
- 检测黑框和包含实际图像内容的区域之间的左边缘。
- 沿着该边缘画一条(不可见的)直线。
- 确定该线与垂直线之间的角度。
- 将整个图像旋转该角度(负数),使得步骤 1 中的边缘变为垂直。
- 修剪图像,丢弃尽可能多的黑色框架,但保留包含实际内容的完整区域(因此,如果该区域不是完美的矩形,则接受保留黑色框架的其余部分)。
有人可以解释一下如何做到这一点吗,最好使用命令行工具?