6

UIImageView(または)内の正方形/長方形を識別したいUIImage

「 iOSでの非常にシンプルな画像認識」を見ましたが、それは私が探しているものではありません。

現時点で私は時々UIImageView与えられるを持っています。UIImage

Most of the UIImagees has black squares/rectangles like this: img. But the corners may (or may not) have rounded edges.

How can I identify the first black square/rectangle's size? The end result would be to resize my UIImageView to make the first black square in the UIImage fill the screen. Like so: imgiPhoneで

4

3 に答える 3

10

画像が常に横一列に並んだ鋭い黒い正方形である場合は、コーナー検出を使用して長方形を識別し、左端の4つのコーナーを選択できます。オープンソースのGPUImageフレームワークには、Harris、Noble、Shi-Tomasiのコーナー検出法に基づく3つのコーナー検出器のバリエーションがあります。

しきい値が0.4、感度が4.0のボックスに対してGPUImageHarrisCornerDetectionFilterを実行すると、次の結果が得られます。

ハリスコーナー検出結果

少し見づらいですが、赤い十字線は、検出器がボックスの角を見つけた場所を示しています。繰り返しになりますが、ターゲットの長方形を見つけるために左端の4つのポイントを取得し、この長方形がビュー全体に表示されるように画像またはビューを拡大縮小する必要があります。

このような機能検出を実行する方法の例は、私のフレームワーク内のFilterShowcaseまたはFeatureExtractionTestの例のいずれかにあります。信号処理のこの回答で、これを行うプロセスについて説明します。

于 2012-09-12T23:45:16.457 に答える
0

最も簡単な解決策は次のようになります。

  1. すべてのピクセルを一番上の行に垂直に合計します(Excelテーブルのように)
  2. 最小/最大値の行が「ギャップ」領域です

幅は(2)から導き出すことができます。

于 2012-09-18T16:59:26.110 に答える
-2

あなたの質問について私が理解したことから、画像の黒い境界線のエッジを検出するためのキャニーエッジ検出アルゴリズムを実装する必要があります。

このためには、次のリンクで利用可能な画像処理フレームワークを使用する必要があります

Image.mファイルのImageWrapper *Image::cannyEdgeExtract(float tlow, float thigh)関数を使用します。

于 2012-09-17T14:37:53.383 に答える