Class: Google::Apis::VisionV1::ColorInfo
- Inherits:
-
Object
- Object
- Google::Apis::VisionV1::ColorInfo
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/vision_v1/classes.rb,
generated/google/apis/vision_v1/representations.rb,
generated/google/apis/vision_v1/representations.rb
Overview
Color information consists of RGB channels, score and fraction of image the color occupies in the image.
Instance Attribute Summary collapse
-
#color ⇒ Google::Apis::VisionV1::Color
Represents a color in the RGBA color space.
-
#pixel_fraction ⇒ Float
Stores the fraction of pixels the color occupies in the image.
-
#score ⇒ Float
Image-specific score for this color.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ColorInfo
constructor
A new instance of ColorInfo.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ ColorInfo
Returns a new instance of ColorInfo.
600 601 602 |
# File 'generated/google/apis/vision_v1/classes.rb', line 600 def initialize(**args) update!(**args) end |
Instance Attribute Details
#color ⇒ Google::Apis::VisionV1::Color
Represents a color in the RGBA color space. This representation is designed
for simplicity of conversion to/from color representations in various
languages over compactness; for example, the fields of this representation
can be trivially provided to the constructor of "java.awt.Color" in Java; it
can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
method in iOS; and, with just a little work, it can be easily formatted into
a CSS "rgba()" string in JavaScript, as well. Here are some examples:
Example (Java):
import com.google.type.Color;
// ...
public static java.awt.Color fromProto(Color protocolor)
float alpha = protocolor.hasAlpha()
? protocolor.getAlpha().getValue()
: 1.0;
return new java.awt.Color(
protocolor.getRed(),
protocolor.getGreen(),
protocolor.getBlue(),
alpha);
public static Color toProto(java.awt.Color color)
float red = (float) color.getRed();
float green = (float) color.getGreen();
float blue = (float) color.getBlue();
float denominator = 255.0;
Color.Builder resultBuilder =
Color
.newBuilder()
.setRed(red / denominator)
.setGreen(green / denominator)
.setBlue(blue / denominator);
int alpha = color.getAlpha();
if (alpha != 255)
result.setAlpha(
FloatValue
.newBuilder()
.setValue(((float) alpha) / denominator)
.build());
return resultBuilder.build();
// ...
Example (iOS / Obj-C):
// ...
static UIColor* fromProto(Color* protocolor)
float red = [protocolor red];
float green = [protocolor green];
float blue = [protocolor blue];
FloatValue* alpha_wrapper = [protocolor alpha];
float alpha = 1.0;
if (alpha_wrapper != nil)
alpha = [alpha_wrapper value];
return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
static Color* toProto(UIColor* color)
CGFloat red, green, blue, alpha;
if (![color getRed:&red green:&green blue:&blue alpha:&alpha])
return nil;
Color* result = [Color alloc] init];
[result setRed:red];
[result setGreen:green];
[result setBlue:blue];
if (alpha <= 0.9999)
[result setAlpha:floatWrapperWithValue(alpha)];
[result autorelease];
return result;
// ...
Example (JavaScript):
// ...
var protoToCssColor = function(rgb_color)
var redFrac = rgb_color.red || 0.0;
var greenFrac = rgb_color.green || 0.0;
var blueFrac = rgb_color.blue || 0.0;
var red = Math.floor(redFrac * 255);
var green = Math.floor(greenFrac * 255);
var blue = Math.floor(blueFrac * 255);
if (!('alpha' in rgb_color))
return rgbToCssColor_(red, green, blue);
var alphaFrac = rgb_color.alpha.value || 0.0;
var rgbParams = [red, green, blue].join(',');
return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
;
var rgbToCssColor_ = function(red, green, blue)
var rgbNumber = new Number((red << 16) | (green << 8) | blue);
var hexString = rgbNumber.toString(16);
var missingZeros = 6 - hexString.length;
var resultBuilder = ['#'];
for (var i = 0; i < missingZeros; i++)
resultBuilder.push('0');
resultBuilder.push(hexString);
return resultBuilder.join('');
;
// ...
Corresponds to the JSON property color
593 594 595 |
# File 'generated/google/apis/vision_v1/classes.rb', line 593 def color @color end |
#pixel_fraction ⇒ Float
Stores the fraction of pixels the color occupies in the image.
Value in range [0, 1].
Corresponds to the JSON property pixelFraction
490 491 492 |
# File 'generated/google/apis/vision_v1/classes.rb', line 490 def pixel_fraction @pixel_fraction end |
#score ⇒ Float
Image-specific score for this color. Value in range [0, 1].
Corresponds to the JSON property score
598 599 600 |
# File 'generated/google/apis/vision_v1/classes.rb', line 598 def score @score end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
605 606 607 608 609 |
# File 'generated/google/apis/vision_v1/classes.rb', line 605 def update!(**args) @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction) @color = args[:color] if args.key?(:color) @score = args[:score] if args.key?(:score) end |