📄 rgbtoyuv.java
字号:
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;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -