如何检测uiimage的边界

时间:2011-02-02 09:39:39

标签: iphone uiimage boundary

在我的应用程序中,我想检测uiimage的边界。我有一个花图像有许多部分,如(lief,sticky bulb等)作为单个图像。如果我触摸特定的lief意味着它找到该特定lief的边界值并返回值。 / p>

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

3 个答案:

答案 0 :(得分:2)

您可以使用“Flood Fill Algorithm”。

只有获得接触点才能满足这一要求。

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

答案 1 :(得分:0)

您可以实施一些edge detecion算法。但除非你在图像处理方面有一些经验,否则我认为这将是一个令人头痛的问题。

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

答案 2 :(得分:-1)

我认为你可以通过继承UIImageView并检测touchevent和位置来做到这一点。

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

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