????
Current Path : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/image-q/src/distance/ |
Current File : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/image-q/src/distance/cmetric.ts |
/** * @preserve * Copyright 2015-2018 Igor Bezkrovnyi * All rights reserved. (MIT Licensed) * * cmetric.ts - part of Image Quantization Library */ import { AbstractDistanceCalculator } from './distanceCalculator'; /** * TODO: Name it: http://www.compuphase.com/cmetric.htm */ export class CMetric extends AbstractDistanceCalculator { calculateRaw( r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number, ) { const rmean = ((r1 + r2) / 2) * this._whitePoint.r; const r = (r1 - r2) * this._whitePoint.r; const g = (g1 - g2) * this._whitePoint.g; const b = (b1 - b2) * this._whitePoint.b; const dE = (((512 + rmean) * r * r) >> 8) + 4 * g * g + (((767 - rmean) * b * b) >> 8); const dA = (a2 - a1) * this._whitePoint.a; return Math.sqrt(dE + dA * dA); } protected _setDefaults() {} }