1

モノクロの「グレースケール」画像の特定のピクセルの強度値を取得しようとしています。いくつかの疑似コードがありますが、これまでのところ、実際に機能するものを実装できていません。

/**
 * 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;
}
4

1 に答える 1

1

多分これはあなたを助けるでしょう:

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();

モノクロの場合、赤緑と青が等しくなるはずです。

于 2013-09-12T07:50:51.517 に答える