0
public static void sample(BufferedImage image) {
int width = image.getWidth();
int height = image.getHeight();
int value[][] = new int[width][height];
int valueR[][] = new int[width][height];
int valueG[][] = new int[width][height];
int valueB[][] = new int[width][height];
for (int j = 0; j < height; j++) {
for (int i = 0; i < width; i++) {
int pixel = image.getRGB(i, j);
value[i][j] = pixel;
Color c = new Color(pixel);
valueR[i][j]= c.getRed();
valueG[i][j] = c.getGreen();
valueB[i][j] = c.getBlue();
System.out.println("Red value = "+valueR[i][j]);
System.out.println("Green value ="+valueG[i][j]);
System.out.println("Blue value"+valueB[i][j]);
}
}
}
上面的代碼是將圖像的RGB值和像素顏色值分別存儲在數組中。查找像素位置
public static BigInteger modPow(BigInteger a1, BigInteger e, BigInteger n) {
BigInteger r = 1;
for (int i = e.bitLength() - 1; i >= 0; i--) {
r = (r.multiply(r)).mod(n);
if (e.testBit(i)) {
r = (r.multiply(a1)).mod(n);
}
}
System.out.println("C value = " + r);
int lng = 3;
BigInteger bi = BigInteger.valueOf(lng);
BigInteger a = r.divide(bi);
BigInteger b = r.mod(bi);
System.out.println("pixel position a = " + a);
System.out.println("modulus value b = " + b);
return r;
}
在上面的代碼正在尋找像素位置,其中i需要嵌入祕密bit.so我需要去那個特定像素嵌入message.But在前面的代碼正在存儲像素顏色在數組值[] []。我需要搜索數組值[] []來獲取我在上一代碼中得到的像素位置。
注: A1是信息文件的當前位的嵌入 位置{E,N}是公鑰
我的問題是如何找到的像素位置?
我假設你的意思是'a是當前位信息...'而不是'a1',但即使如此你的問題還不清楚。 「像素位置」是什麼意思?你是否設想了一個編號系統,其中左上角的像素編號爲1,而右下方的像素編號爲「width * height」或類似的東西? – ach 2013-03-21 17:09:17