2. Class hsvMatch.java
import java.awt.image.BufferedImage; import java.io.File;
import java.io.IOException; import java.text.DecimalFormat;
import java.text.NumberFormat; public class hsvMatch {
public double[] getValueHSVFile fileImg throws IOException{ double[] result = new double[162];
NumberFormat nf = NumberFormat.getNumberInstanceLocale.getDefault;
DecimalFormat df = DecimalFormat nf; df.applyPattern.;
Arrays.fillresult, 0; double[] hBinValue = {
0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.000 00,
0.05882,0.05882,0.05882,0.05882,0.05882,0.05882,0.05882,0.05882,0.058 82,
0.11765,0.11765,0.11765,0.11765,0.11765,0.11765,0.11765,0.11765,0.117 65,
0.23529,0.23529,0.23529,0.23529,0.23529,0.23529,0.23529,0.23529,0.235 29,
0.29412,0.29412,0.29412,0.29412,0.29412,0.29412,0.29412,0.29412,0.294 12,
0.35294,0.35294,0.35294,0.35294,0.35294,0.35294,0.35294,0.35294,0.352 94,
0.41176,0.41176,0.41176,0.41176,0.41176,0.41176,0.41176,0.41176,0.411 76,
0.47059,0.47059,0.47059,0.47059,0.47059,0.47059,0.47059,0.47059,0.470 59,
0.52941,0.52941,0.52941,0.52941,0.52941,0.52941,0.52941,0.52941,0.529 41,
0.58824,0.58824,0.58824,0.58824,0.58824,0.58824,0.58824,0.58824,0.588 24,
0.64706,0.64706,0.64706,0.64706,0.64706,0.64706,0.64706,0.64706,0.647 06,
Universitas Sumatera Utara
0.70588,0.70588,0.70588,0.70588,0.70588,0.70588,0.70588,0.70588,0.705 88,
0.76471,0.76471,0.76471,0.76471,0.76471,0.76471,0.76471,0.76471,0.764 71,
0.82353,0.82353,0.82353,0.82353,0.82353,0.82353,0.82353,0.82353,0.823 53,
0.88235,0.88235,0.88235,0.88235,0.88235,0.88235,0.88235,0.88235,0.882 35,
0.94118,0.94118,0.94118,0.94118,0.94118,0.94118,0.94118,0.94118,0.941 18,
1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.00000,1.000 00
}; double[] sBinValue = {
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
Universitas Sumatera Utara
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00,
0.00000,0.00000,0.00000,0.50000,0.50000,0.50000,1.00000,1.00000,1.000 00
}; double[] vBinValue = {
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
Universitas Sumatera Utara
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
0.00000,0.50000,1.00000,0.00000,0.50000,1.00000,0.00000,0.50000,1.000 00,
}; BufferedImage getImg = ImageIO.readfileImg;
int height = getImg.getHeight; int width = getImg.getWidth;
BufferedImage outImg = new BufferedImagewidth, height,
BufferedImage.TYPE_BYTE_GRAY; int counter=0;
forint i=0; iwidth; i++{ forint j=0; jheight; j++{
int pixel = getImg.getRGBi, j; double a = pixel240xff;
double r = pixel160xff; double g = pixel80xff;
double b = pixel0xff; double r1 = Double.valueOfdf.formatr255;
double g1 = Double.valueOfdf.formatg255; double b1 = Double.valueOfdf.formatb255;
double cMax = Math.maxMath.maxr1, g1, b1; double cMin = Math.minMath.minr1, g1, b1;
double delta = Double.valueOfdf.formatcMax - cMin;
double hValue,sValue,vValue;
Universitas Sumatera Utara
vValue = cMax100.0; ifcMax == 0{
sValue = 0; }
else{ sValue = deltacMax100;
} ifdelta==0{
hValue = 0.0; }
else{ ifcMax == r1{
hValue = 60 g1-b1delta6 ; }
else ifcMax == g1{ hValue = 60 b1-r1delta+2 ;
} else ifcMax == b1{
hValue = 60 r1-g1delta+4 ; }
else{ hValue = 0.0;
} }
ifhValue0{ hValue+=360.0;
} hValue = Double.valueOfdf.formathValue;
sValue = Double.valueOfdf.formatsValue; vValue = Double.valueOfdf.formatvValue;
hValue = Math.roundhValue18360; sValue = Math.roundsValue3100;
vValue = Math.roundvValue3100; hValue = Double.valueOfdf.formathValue17;
sValue = Double.valueOfdf.formatsValue2; vValue = Double.valueOfdf.formatvValue2;
ifsValue1.00000{ sValue=1.0;
} ifhValue1.00000{
hValue = Double.valueOfdf.formathValue - 1.00000;
} ifvValue1.00000{
vValue=1.0; }
boolean found=false; forint x=0 ; x162 ; x++{
ifhValue == hBinValue[x]{ ifsValue == sBinValue[x]{
ifvValue == vBinValue[x]{
Universitas Sumatera Utara
break; }
} }
} }
} double temp=0;
forint i=0 ; i162 ; i++{ System.out.printlnBin ke-+i+1+ Nilai
Kuantisasi=+result[i]; result[i]=Double.valueOf
df.formatresult[i]100widthheight; }
return result; }
}
3. Class euclideanDistance.java