画像上の事前定義された領域を見つけて、それを他の画像に置き換える必要があります (後者を埋め込むだけです)。事前定義されたスポットは、以前に合意された色の無地の背景で塗りつぶされた可変サイズの長方形領域です。
これを達成する方法についてアドバイスはありますか?
ループを実行して画像を行ごと、ピクセルごとに処理することで、指定された色の最初のピクセルを見つけることができると思いますが、それは最も効率的な解決策ではないように感じます。スポットがかなり大きいはずなので、写真を横切ることも考えました(下の添付ファイルを参照してください)。
したがって、これらのループを定義する際に助けが必要です。そのためには、いくつかの数学関数を使用する必要があると思います。
たとえば、全体像が正方形の場合、対角ループ (黄色の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;
}
しかし、それは黄色のもので、私が推測する最も単純なものです。では、他のものをどのように定義すればよいでしょうか。助けてください。ありがとう