2011-02-02 5 views
0

私のアプリケーションでは、私はuiimageの境界を検出したいと思います。私は花のイメージを持っています、(泥棒、粘着性の球根など)のような多くの部分を単一のイメージとして持っています。私が触れているなら、特定の泥棒はその特定の泥棒の境界値を見つけ、値を返します。uiimageの境界を検出する方法

これについてはわかりません。お手数ですがお手数ですが、

+0

UIImageViewに画像を配置していますか?まさにバウンドリーの意味は?フレーム? – jithinroy

+0

@xCode:はい、私はuiimageview.boundaryの意味でイメージを持っています。イメージ(花)のようなものです。 – kanmani

答えて

0

edge detecionアルゴリズムを実装できます。しかし、画像処理の経験がなければ、それは大きな頭痛になると思います。

イメージを事前に持っていれば、イメージをマスクの構成として分離し、対応するマスクのタッチを検出することができます。アイデアは、イメージの各部分に対応するビットマップマスクがあることです。タッチを受け取ると、すべてのマスクをチェックして、タッチの場所に黒のピクセルがあるかどうかを確認します。これはクォーツの厚いテクニックですが、私はエッジ検出よりもはるかに親しみやすいと思います。 relevant quartz documentationをチェックしてください。

-1

私はあなたがUIImageViewをサブクラス化し、toucheventと位置を検出することでこれを行うことができると思います。

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

私はこれを試しましたが、これはあなたの問題を解決するようです。

2

"Flood Fill Algorithm"を使用できます。

タッチポイントを取得するだけではこの回答には不十分です。

すべてをピクセル単位で分割する必要があります。さらにそれを使用してください。

関連する問題