View Javadoc

1   /**
2    * 
3    */
4   package de.desy.acop.video.analysis;
5   
6   import java.awt.Color;
7   
8   /**
9    * </code>AvrerageColorDecoder</code> transforms the</code>TYPE_INT_ARGB</code> 
10   * integer color code into a normalized sum of red, green and blue components.
11   * 
12   * @author Tilen Kusterle, Cosylab
13   *
14   */
15  public class AverageColorDecoder implements ColorDecoder {
16  
17  	/* (non-Javadoc)
18  	 * @see de.desy.acop.video.analysis.ColorDecoder#transform(int)
19  	 */
20  	@Override
21  	@Deprecated
22  	public double transform(int code) {
23  		Color c = new Color(code, true);
24  		return (c.getRed()+c.getGreen()+c.getBlue())/765.0;
25  	}
26  	
27  	/*
28  	 * (non-Javadoc)
29  	 * @see de.desy.acop.video.analysis.ColorDecoder#transform(int[])
30  	 */
31  	@Override
32  	public double[] transform(int[] data) {
33  		int length = data.length;
34  		int code;
35  		double[] ret = new double[length];
36  		for (int i = 0; i < length; i++) {
37  			code = data[i];
38  			ret[i] = ((code >> 16) & 0xFF + (code >> 8) & 0xFF + (code >> 0) & 0xFF)/765.;
39  		}
40  		return ret;
41  	}
42  
43  }