使用JavaCV从映像中删除ROI

时间:2014-05-10 14:26:09

标签: opencv image-processing colors crop javacv

我正在学习JavaCV,并希望根据颜色动态提取部分图像。

作为识别,我概述了我需要用颜色提取的区域。无论如何,我可以根据颜色轮廓提取ROI。任何帮助表示赞赏。

以下是Sample Image

1 个答案:

答案 0 :(得分:0)

很简单。因为你的数字有4个角,所以你应该按照以下步骤。

1.识别图像的方向并按特定顺序将点存储在MatofPoint2f中。 (顺时针方向或逆时针方向 - 为此你可以使用Math.atan2(p1(y) - 中心点(y),p1(x) - 中心点(x)),然后根据方程的结果对点进行排序。通过找到平均所有xcoords和y coords或您喜欢的任何方法来获得中心点。

2.创建一个MatofPoint2f,其中包含您想要裁剪图像的结果图像大小的角坐标。

3.使用Imgproc.getPerspectiveTransform()来执行裁剪。

4.最后使用Imgproc.warpPerspective()来获取所需的输出。

为了创建ROI的边界,最好的方法是使用某个特定范围对图像进行阈值处理,以便仅提取所需频谱的那些部分。