1

我有一个bitmap,只包含一个黑色像素。我拿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 {}

This means your code always executes the line matrix [i] [j] = 0;. So you set all your pixels to 0.

于 2013-03-19T18:44:49.537 回答