1
我想修改我從Android中的庫中採取它的圖像。爲了修改我需要獲取圖像的像素值。如何獲取在0-255範圍內的圖像的像素值android
我不想將像素值區分爲R,G,B值。我想要的像素值作爲單個值
for (x = 0; x < w; x++){
for (y = 0;y < w; y++){
int pixels = bmpimg1.getPixel(x, y);
int alphavalue=Color.alpha(pixels);
int redValue = Color.red(pixels);
int blueValue = Color.blue(pixels);
int greenValue = Color.green(pixels);
totalvalue[x][y]=(redvalue+bluevalue+greenvalue)/3
}
}
//總價值=假設另外redvalue,bluevalue,greenvalue和取平均會給我在該位置的像素值//
當我嘗試使用totalvalue重新創建圖像,我沒有得到我輸入的圖像。
我在使用Raster.getpixels的java中做了同樣的事情,當我嘗試創建相同的圖像時,我能夠獲得相同的圖像。
Bufferedimage img=ImageIO.read(new File("a.jpg");
Raster raster=img.getData();
for (int x=0;x<w;x++)
{
for(int y=0;y<h;y++)
{
pixels[x][y]=raster.getSample(x,y,0);
pixel[count++]=pixels[x][y];
}
}
當我創建使用的BufferedImage與像素[X] [Y]一個新的形象,我得到原始圖像
但在安卓和GetPixel給出負數
所以值我怎樣才能得到0-255範圍內的每個像素的值,而不分離成RGB值。
請幫我解決這個問題。謝謝
'我怎樣才能得到每個像素的值範圍0-255沒有分離成RGB值... ...所以你使用的是灰度圖像(其中A = R = G = B)。或者你想要一個顏色分量的平均值((A + R + G + B)/ 4)? –
謝謝Vyger的幫助,我得到了它的工作我用A = R = G = B來找到灰色圖像。 – user2109988