1

色空間の変更について助けが必要です

変換を使用して Y、Cr 、Cb 値を計算しました

            int Y = (int)(0.299*r+0.587*g+0.114*b);
            int Cb=(int)(128-0.169*r-0.331*g+0.500*b);
            int Cr =(int)(128+0.500*r-0.419*g-0.081*b);

今、私は新しい色空間で新しい画像を保存する必要があります。たとえば、YCrCbはRGBではなく、何に従うべきですか。

4

1 に答える 1

1

Java の bufferedImage クラスを使用して、YCbCr 空間に画像を表示できます。このために、RGB 画像と同じサイズの空のバッファ画像を作成し、以下に示すように setRGB メソッドを使用してすべてのピクセル値を設定します。

BufferedImage ycb =  new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);

int val = (y<<16) | (cb<<8) | cr;
    ycb.setRGB(i,j,val);

ImageIO.write(ycb,"png", new File("E:\\Rose\\ycbcr\\ycbcr.png"));
于 2015-02-27T10:39:51.210 に答える