【问题标题】: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 的想法。

标签: c++ image opencv


【解决方案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 是您要提取的矩形的宽度和高度。

【讨论】:

    猜你喜欢
    • 2022-12-16
    • 2019-03-30
    • 2019-07-19
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多