public HSVRange(HSVValue lowerBound, HSVValue upperBound) { this.lowerBoundHSV = lowerBound; this.upperBoundHSV = upperBound; this.lowerBoundScalar = new Scalar(lowerBound.getHue(), lowerBound.getSaturation(), lowerBound.getBrightnessValue()); this.upperBoundScalar = new Scalar(upperBound.getHue(), upperBound.getSaturation(), upperBound.getBrightnessValue()); }
@Override public void stateChanged(ChangeEvent e) { valueLabel.setText("Val: " + valueSlider.getValue()); hsvValue.setBrightnessValue(valueSlider.getValue()); dirty = true; } });
@Override public void stateChanged(ChangeEvent e) { hueLabel.setText("Hue: " + hueSlider.getValue()); hsvValue.setHue(hueSlider.getValue()); dirty = true; } });
public static HSVValue awtToHSVValue(java.awt.Color color) { float[] hsvArray = new float[3]; java.awt.Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), hsvArray); float hue = hsvArray[0] * 180.0f; float saturation = hsvArray[1] * 255.0f; float brightnessValue = hsvArray[2] * 255.0f; return new HSVValue(hue, saturation, brightnessValue); }
@Override public void stateChanged(ChangeEvent e) { saturationLabel.setText("Sat: " + saturationSlider.getValue()); hsvValue.setSaturation(saturationSlider.getValue()); dirty = true; } });
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; HSVRange that = (HSVRange) o; if (!lowerBoundScalar.equals(that.lowerBoundScalar)) return false; if (!upperBoundScalar.equals(that.upperBoundScalar)) return false; if (!lowerBoundHSV.equals(that.lowerBoundHSV)) return false; return upperBoundHSV.equals(that.upperBoundHSV); }
OpenCVColoredCircularBlobDetector openCVColoredCircularBlobDetector = factory.buildBlobDetector(); HSVRange greenRange = new HSVRange(new HSVValue(55, 80, 80), new HSVValue(139, 255, 255)); HSVRange yellowRange = new HSVRange(new HSVValue(25, 100, 100), new HSVValue(40, 255, 255)); slidersPanel.setLayout(new BoxLayout(slidersPanel, BoxLayout.LINE_AXIS)); final HSVValue lowerBound = new HSVValue(0, 0, 0); final HSVValue upperBound = new HSVValue(0, 0, 0);
public static java.awt.Color hsvValueToAwt(HSVValue hsvValue) { int rgb = java.awt.Color.HSBtoRGB((float) hsvValue.getHue() / 180.0f, (float) hsvValue.getSaturation() / 255.0f, (float) hsvValue.getBrightnessValue() / 255.0f); int red = (rgb >> 16) & 0xFF; int green = (rgb >> 8) & 0xFF; int blue = (rgb) & 0xFF; return new java.awt.Color(red, green, blue); }