如何从相机中检测形状之间的图像

时间:2016-09-02 18:18:06

标签: objective-c opencv image-processing xamarin.ios opencv-contour

我一直在网上搜索如何做到这一点,我知道需要使用OpenCV。问题是我找到的所有教程和示例都用于分离形状检测或模板匹配。

我需要的是一种检测3个圆圈(可以是照片或其他东西)之间内容的方法。从我搜索的内容来看,使用轮廓的相机并不难找到圆圈,但是,我如何提取它们之间的内容呢?圆圈就像图像上的图案一样,可以抓住“模式内部”的内容。

我是否需要使用每个圆圈的轮廓并测量它们之间的距离才能抓住我的内容?如果是这样,如果图像在相机上有点旋转/扭曲怎么办?

我正在使用Xamarin.iOS,但是从我已经看到的内容来看,我认为我需要为此而生,并且欢迎任何Objective C示例。

修改

想象相机拍摄的图像是这样的:

Image captured by camera

我想要的是匹配3个圆圈并获得图像的以下部分:

Result after matching the circles

由于图像来自相机,因此可以旋转或放大/缩小图像。

1 个答案:

答案 0 :(得分:0)

warpAffine功能可让您将源图像的所需区域映射到目标图像,一次性执行裁剪,旋转和缩放。

谈论旋转和缩放似乎表明您想要提取给定宽高比的矩形,因此执行相似性变换。要定义这样的变换,三点太多,两点就足够了。仿射矩阵的构造有点棘手。