1

bitmap黒いピクセルが 1 つしかないがあります。ファイルを取得し、bitmap(マトリックスのような) ダブルループで各ピクセルの色を制御します。それが黒の場合 (定数値: -16777216 (0xff000000))、それらをarrayof integers、値 1 に入れ、それ以外の場合は 0

問題は、Android では明らかに画像がぼやけることです。黒いピクセルの周りの8ピクセルは、たとえそれらが白であっても、それらを白以外のものとして認識し(正確には何色かわかりません)、中央のピクセルはそれを黒ではなく別の色として認識します..すべての意図と目的は乱視です...修正方法に関するアイデアはありますか? 写真の黒のピクセル数を数えなければなりません...

使用するコードを配置します

 public int[][] DisegnaImpronta(Bitmap immagine) {

            int[][] matrice;

            matrice = new int[immagine.getWidth()][immagine.getHeight()];

            for(int i = 0; i <immagine.getWidth() ; i++) {
                    for(int j = 0; j < immagine.getHeight() ; j++) {

                            int colore = immagine.getPixel(i, j);

                            /* bianco se il valore è 1, nero se il valore è 0 */
                            if(colore!=-1)System.out.println("coordinate: "+ i + " " + j + " c: " +colore); //qui mi notifica quando il colore è diverso da bianco

                            if(colore==-16777216){
                                    System.out.println("Un punto nero...");
                                    matrice[i][j]=1;

                            }else{
                                    matrice[i][j]=0;
                            }

                    }
            }

英語でごめんなさい

4

1 に答える 1

1

あなたのelse条項は空です:else {}

これは、コードが常に行を実行することを意味しますmatrix [i] [j] = 0;。したがって、すべてのピクセルを0に設定します。

于 2013-03-19T18:44:49.537 に答える