如果我用我的三星galaxy s2拍照,照片是3264 x 2448 px。 我想對其使用顏色範圍檢查,但它不起作用。但是,如果我將圖片縮小爲例如2500 x 2500(如此少的像素),那麼它確實有效。但我想要使用星系s2(3264 x 2448)的圖片大小。 我認爲這是一個記憶問題? 我不完全知道限制是什麼。 但是他們的另一種方式來「繞過」這個問題?位圖大到使用getPixels?
這是一段代碼,我該怎麼辦,現在:
bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.four_colors);
int width = bmp.getWidth();
int height = bmp.getHeight();
int[] pixels = new int[width * height];
bmp.getPixels(pixels, 0, width, 0, 0, width, height);
for (int y = 0; y < height; y++){
for (int x = 0; x < width; x++){
int index = y * width + x;
int R = (pixels[index] >> 16) & 0xff; //bitwise shifting
int G = (pixels[index] >> 8) & 0xff;
int B = pixels[index] & 0xff;
total++;
if ((G > R)&&(G > B)){
counter++;
}
}
}
它崩潰,因爲畫面是大,小圖片的工作。 那麼他們有什麼可以「繞過」這個問題呢?而不是使用更小的圖像:)
我嘗試了一些其他的東西,沒有成功,我嘗試解釋我試過的東西。
我試圖「剪切」兩個圖像,然後單獨掃描(沒有工作)。
我試圖只掃描它的一半(1632 x 1224),然後旋轉圖像(180度)並再次掃描,但也沒有解決。
- 打我:)
它在哪裏崩潰? – ethan 2012-02-20 14:51:10
嘿,我明天要試試答案。 我會讓你聽到它出來的是什麼 – Bigflow 2012-02-20 15:31:08