裁剪给定角度的图像

Posted

技术标签:

【中文标题】裁剪给定角度的图像【英文标题】:Crop an image with given angle 【发布时间】:2015-05-26 17:17:03 【问题描述】:

我有中心、倾角(方向)和我想从另一个图像中裁剪的子图像的边的测量值,例如:

到:

我设法把它放在正确的倾向上:

    Mat img;
    Point center;
    float angle;
    Mat rotation = getRotationMatrix2D(center, angle, 1.0);
    warpAffine(img, img, rotation, img.size());

但我不知道如何用给定的边切割那个区域......我该怎么做?

【问题讨论】:

有角像素坐标吗? 不行,我要计算一下? 这是一种可能性 如果你可以旋转图片,之后你只需要一个角的位置(例如,右下角)和你要裁剪的图片的宽度和高度。 我会尝试并发布更新。 Ty 的想法。 【参考方案1】:

如果您可以旋转图像,那么您只需要角位置之一(例如,右下角)以及要裁剪的图像的宽度和高度。

话虽如此,您可以设置 ROI(感兴趣区域)并使用

进行裁剪
cv::Rect RegionOfInterest(top_left_x, top_left_y, rectangle_width, rectangle_height);
cv::Mat outputImage;

outputImage = originalImage(RegionOfInterest).clone();

其中top_left_xtop_left_y 是您的左上角坐标,rectangle_widthrectangle_height 是您要提取的矩形的宽度和高度。

【讨论】:

以上是关于裁剪给定角度的图像的主要内容,如果未能解决你的问题,请参考以下文章

裁剪图像时的角度性能问题

html 使用图像裁剪进行角度上传

给定图像和纵横比的最大裁剪区域

使用 FabricJs 的裁剪功能

PHP GD - 围绕任何给定点裁剪图像

在Android中以给定的正方形大小裁剪图像?