我正在尝试导出单色“灰度”图像中特定像素的强度值。我有一些伪代码,但是到目前为止,我还无法实现真正有效的功能。
/** * Retrieve the intensity value at location ('row', 'column') of the image 'img' and return it * Note: * - the 2D image is stored as an 8bit, 1D, row-major array of type byte * - the data type byte is signed in Java * - Slide 27 of chapter 2 introduces the representation of an image * @param img in row major format * @param row to evaluate * @param column to evaluate * @param width of img * @param height of img * @return the intensity value at row and column if within bounds, -1 otherwise */ public int getIntensityValue(byte[] img, int row, int column, int width, int height) { int intensity = img[row,column]; return intensity; }
也许这会帮助您:
http://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html
http://docs.oracle.com/javase/7/docs/api/javax/imageio/ImageIO.html
BufferedImage img = ImageIO.read(new File("filePath.png")); int sRbgColor = img.getRGB(int x, int y); Color c = new Color(sRbgColor); int red = c.getRed(); int green = c.getGreen(); int blue = c.getBlue();
如果是单色,则红色,绿色和蓝色应该相等。