Class PCDYCbCrConversion
java.lang.Object
net.sourceforge.jiu.color.conversion.PCDYCbCrConversion
- All Implemented Interfaces:
YCbCrIndex
,RGBIndex
Convert from YCbCr color space (as used in Kodak PCD files) to
RGB. Only works for 24 bits per pixel (8 bits per channel) image
data.
- Author:
- Marco Schmidt
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final float
private static final float
private static final float
private static final float
private static final float
private static final float
private static final float
private static final float
private static final float
Fields inherited from interface net.sourceforge.jiu.data.RGBIndex
INDEX_BLUE, INDEX_GREEN, INDEX_RED
Fields inherited from interface net.sourceforge.jiu.color.YCbCrIndex
INDEX_CB, INDEX_CR, INDEX_Y
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
checkArray
(byte[] data, int offset, int num) static void
convertYccToRgb
(byte[] y, byte[] cb, byte[] cr, int yccOffset, byte[] r, byte[] g, byte[] b, int rgbOffset, int num) Converts pixels from YCbCr to RGB color space.private static byte
floatToByte
(float f)
-
Field Details
-
c11
private static final float c11- See Also:
-
c12
private static final float c12- See Also:
-
c13
private static final float c13- See Also:
-
c21
private static final float c21- See Also:
-
c22
private static final float c22- See Also:
-
c23
private static final float c23- See Also:
-
c31
private static final float c31- See Also:
-
c32
private static final float c32- See Also:
-
c33
private static final float c33- See Also:
-
-
Constructor Details
-
PCDYCbCrConversion
private PCDYCbCrConversion()
-
-
Method Details
-
floatToByte
private static byte floatToByte(float f) -
checkArray
- Throws:
IllegalArgumentException
-
convertYccToRgb
public static void convertYccToRgb(byte[] y, byte[] cb, byte[] cr, int yccOffset, byte[] r, byte[] g, byte[] b, int rgbOffset, int num) throws IllegalArgumentException Converts pixels from YCbCr to RGB color space. Input pixels are given as three byte arrays for luminance and the two chroma components. Same for output pixels, three other arrays for red, green and blue. Offset values can be specified separately for the YCbCr and the RGB arrays.- Parameters:
y
- the array of gray source samplescb
- the array of chroma blue source samplescr
- the array of chroma red source samplesyccOffset
- offset value into the arrays y, cb and cr; color conversion will be started at the yccOffset'th value of each arrayr
- the array of red destination samplesg
- the array of green destination samplesb
- the array of blue destination samplesrgbOffset
- offset value into the arrays r, g and b; destination samples will be written to the three arrays starting at the rgbOffset'th value of each arraynum
- the number of pixels to be converted- Throws:
IllegalArgumentException
- if one of the int values is negative or one of the arrays is null or too small
-