0

在我的应用程序中,我想检测 uiimage 的边界。我的花朵图像有很多部分,例如(谎言、粘性灯泡等)作为单个图像。如果我触摸特定的谎言意味着它会找到该特定谎言的边界值并返回值。

我对此一无所知。请任何人帮助我做到这一点。

4

3 回答 3

2

您可以为此使用“Flood Fill Algorithm”。

仅获得接触点不足以回答此问题。

您需要打破所有像素,然后您将进一步使用它。

于 2013-10-03T14:46:39.870 回答
0

你可以实现一些边缘检测算法。但除非你在图像处理方面有一些经验,否则我认为这将是一个令人头疼的问题。

如果您事先有图像(是吗?),您可以将图像分离为掩码的组合并检测相应掩码中的触摸。这个想法是,对于图像的每个部分,您将有一个相应的位图掩码。当您收到触摸时,您检查所有蒙版以查看哪个蒙版在触摸位置具有黑色像素。这是一种厚实的 Quartz 技术,但我认为它比边缘检测更平易近人。查看相关的石英文档

于 2011-02-02T10:00:07.117 回答
-1

我认为您可以通过子类化 UIImageView 并检测触摸事件和位置来做到这一点。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {  
    UITouch *touch = [touches anyObject];   
    CGPoint position = [touch locationInView:self];      
}

我还没有尝试过,但似乎这会解决你的问题。

于 2011-02-02T11:34:03.270 回答