1

画像内の空の領域(そのxy座標)を見つけたい。そこから、その空の領域に別の画像を入力する必要があります。

この画像の空の領域が見つかります

4

2 に答える 2

1

空の領域とは、白い四角形を意味しますか?

私がこれを行う方法は、ピクセルごとにピクセル (x 軸/y 軸) を実行して完全に白いピクセルを検索し、このピクセルを見つけたら、そのピクセルから開始して検証するメソッドを実行することです。そこに挿入したい画像の幅と高さの量で、X軸とY軸の直線に沿ったピクセル。これらの 2 行がすべて白の場合は、対角線上でもう一度実行します。長さmath.sqrt(width*width + height*height)はその対角線。

ただし、白いピクセルを検索する代わりに、完全に透明なピクセル (0 アルファ) を検索したいと思います。それはあなたの画像ではうまくいくと思いますが、尾で結合された正確な長さで白い3本の線を持つ別の画像がある場合は失敗します。ただしないでください...そうしないでください。

これらの線だけをチェックする代わりに、実際にその四角形のすべてのピクセルを確認できますが、空の領域の下部にたまたま標高があるため、おそらく遅くなり、画像では機能しません。

于 2012-10-16T06:01:10.970 に答える
1

画像内の白い点を見つけたい場合は、以下を試してください。お役に立てば幸いですが、空の領域だけでなく、画像内のすべての白い点が返されます。

            Bitmap mBitmap = YOUR BITMAP;

            ArrayList<Point> whitePoint = new ArrayList<Point>();
            for (int i = 0; i < mBitmap.getWidth(); i++) {
                for (int j = 0; j < mBitmap.getHeight(); j++) {
                    if(mBitmap.getPixel(i, j) == Color.WHITE)
                    {
                        whitePoint.add(new Point(i, j));
                    }
                }
            }

空の領域に透明色を使用し、白の代わりに透明色をチェックすることをお勧めします

于 2012-10-16T06:46:29.403 に答える