我有三個不同的圖像(JPEG或BMP)。 我試圖根據每個圖像的顏色數來預測每個圖像的複雜程度。 我怎樣才能使Java成爲可能? 謝謝。計算圖像的顏色數
UPDATE: 這些代碼不工作..輸出顯示1312點的顏色甚至只純紅色和白色
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.ArrayList;
import javax.imageio.ImageIO;
public class clutters {
public static void main(String[] args) throws IOException {
ArrayList<Color> colors = new ArrayList<Color>();
BufferedImage image = ImageIO.read(new File("1L.jpg"));
int w = image.getWidth();
int h = image.getHeight();
for(int y = 0; y < h; y++) {
for(int x = 0; x < w; x++) {
int pixel = image.getRGB(x, y);
int red = (pixel & 0x00ff0000) >> 16;
int green = (pixel & 0x0000ff00) >> 8;
int blue = pixel & 0x000000ff;
Color color = new Color(red,green,blue);
//add the first color on array
if(colors.size()==0)
colors.add(color);
//check for redudancy
else {
if(!(colors.contains(color)))
colors.add(color);
}
}
}
system.out.printly("There are "+colors.size()+"colors");
}
}
灰度圖像(只有256色)固有地比具有多達65,536色的彩色圖像圖像複雜度低? – 2011-03-09 15:45:08
你想要構建的東西叫做直方圖。 – djdanlib 2011-04-20 14:31:02