使用OpenCV如何根据x和y坐标裁剪图像,并允许x和y坐标作为裁剪的中心?

时间:2016-07-05 15:33:58

标签: c++ image opencv

我尝试使用OpenCV裁剪图像。我已经有了想要裁剪的图像特定部分的坐标。我遇到的问题是,因为当你使用矩形在opencv中裁剪时,你给它的坐标是矩形的左上角,所以在我的情况下它切掉了一半面,因为我的坐标居中于中间的脸。无论如何要做到这样使得给出的x和y线在矩形的中心开始,这样你就可以创建一个从里到外而不是从外面进行裁剪的部分?我也很好听取其他关于如何完成这项任务的建议。

1 个答案:

答案 0 :(得分:1)

我不知道openCV有办法迫使裁剪基于图像的中心,但无论如何解决方案都非常简单。

现在你有cv::Rect imageToCrop(X, Y, Width, Height);

之类的东西

将其更改为:cv::Rect imageToCrop(X - (Width/2), Y - (Height/2), Width, Height);

这将使它围绕你的X和Y