私は画像処理アプリケーションに取り組んでおり、特定のウィンドウからランダムなサブウィンドウを生成したいという問題があります。たとえば、5x5 (ピクセル) ウィンドウが与えられた場合、指定された幅と高さで x、y の指定された場所にサブウィンドウを生成したいと思います。現在、サブウィンドウの幅と高さは常に互いに等しいと想定しても問題ありません。ただし、元のウィンドウにはこの制約がありません。
現在、元のウィンドウの内側に収まることがわかっているサブウィンドウのランダムな幅/高さを生成しています。次に、そのサブウィンドウが元のウィンドウ内に収まるようにする有効な x、y 座標を生成します。現在のアプローチの問題点は、ウィンドウが小さいほど多く発生する可能性が高いという事実を考慮していないことです。サブウィンドウの幅/高さのランダムな寸法を選択することで、幅と高さの分布が均一であると想定していますが、実際にはそうではありません。
たとえば、5x5 のウィンドウがあるとします。可能な 1x1 サブウィンドウは 25 個、2x2 ウィンドウは 16 個、3x3 ウィンドウは 9 個、4x4 ウィンドウは 4 個、5x5 ウィンドウは 1 個です。したがって、確率が約 0.45 (25/(25+16+9+4+1)) の 1x1 ウィンドウ、確率が約 0.29 の 2x2 ウィンドウなどを選択する必要があります。
可能なすべてのウィンドウをブルート フォースで評価し、リストから 1 つを選択するだけで、適切なディストリビューションからそのような許容可能なサブウィンドウをすばやく生成する方法はわかりませんが、これを行うためのよりスマートなアプローチがあると確信しています。どこから始めればよいかわかりません。
ありがとう!