?? rgbtoyuv.java
字號(hào):
package bin;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.*;
import java.io.File;
import java.io.IOException;
import java.io.FileOutputStream;
public class RGBToYUV{
static float[] tb10_257x=new float[256];
static float[] tb10_504x=new float[256];
static float[] tb10_098x=new float[256];
static float[] tb10_148x=new float[256];
static float[] tb10_291x=new float[256];
static float[] tb10_439x=new float[256];
static float[] tb10_368x=new float[256];
static float[] tb10_071x=new float[256];
static void createtable(float[] pTable,float fMul){
for(int i=0;i<256;i++)
pTable[i]=fMul*i;
}
static void createtables(){
createtable(tb10_257x,0.257f);
createtable(tb10_504x,0.504f);
createtable(tb10_098x,0.098f);
createtable(tb10_148x,0.148f);
createtable(tb10_291x,0.291f);
createtable(tb10_439x,0.439f);
createtable(tb10_368x,0.368f);
createtable(tb10_071x,0.071f);
}
RGBToYUV(){
createtables();
}
public static float[] rgbtoyuv(int[] rgb) {
float[] yuv=new float[3];
yuv[0] = tb10_257x[rgb[0]] + tb10_504x[rgb[1]] +tb10_098x[rgb[2]] + 16;
yuv[1] = -tb10_148x[rgb[0]] - tb10_291x[rgb[1]]+tb10_439x[rgb[2]] + 128;
yuv[2] = tb10_439x[rgb[0]] - tb10_368x[rgb[1]] -tb10_071x[rgb[2]] + 128;
return yuv;
}
public static float gety(int[] rgb){
return tb10_257x[rgb[0]] + tb10_504x[rgb[1]] +tb10_098x[rgb[2]] + 16;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -