1

画像上の事前定義された領域を見つけて、それを他の画像に置き換える必要があります (後者を埋め込むだけです)。事前定義されたスポットは、以前に合意された色の無地の背景で塗りつぶされた可変サイズの長方形領域です。

これを達成する方法についてアドバイスはありますか?

ループを実行して画像を行ごと、ピクセルごとに処理することで、指定された色の最初のピクセルを見つけることができると思いますが、それは最も効率的な解決策ではないように感じます。スポットがかなり大きいはずなので、写真を横切ることも考えました(下の添付ファイルを参照してください)。

スポットを見つける

したがって、これらのループを定義する際に助けが必要です。そのためには、いくつかの数学関数を使用する必要があると思います。

たとえば、全体像が正方形の場合、対角ループ (黄色のEFライン) は単純化された線形関数y=x( y=1x+0) を使用しますが、実際には正方形である可能性は低くなります。したがって、拡張された完全な線形関数を使用する必要がありますy=kx+b。ここでkは、長方形のサイズと関係があり (私は思っていましたk=height/width)、bちょうど 0 になります。したがって、ループは次のようになります。

$k = 1080/1920;
for ( $x=1920; $x>0; $x-- ) {
    $y = $k*$x;
}

しかし、それは黄色のもので、私が推測する最も単純なものです。では、他のものをどのように定義すればよいでしょうか。助けてください。ありがとう

4

1 に答える 1

3

検索しているサブイメージの一部を取得し、大きなイメージで検索します。

ImageMagick のサブイメージ検索を使用できます。

compare -verbose -dissimilarity-threshold 0.1 -subimage-search subimage.jpg bigimage.jpg

詳細については、こちらこちら、およびこちらをご覧ください。

「TooDissimilar」と表示されるか、サブイメージの x、y 位置が表示されます。

于 2013-03-20T12:12:16.197 に答える