Initial Commit
This commit is contained in:
74
node_modules/color-space/ydbdr.js
generated
vendored
Normal file
74
node_modules/color-space/ydbdr.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* https://en.wikipedia.org/?title=YDbDr
|
||||
*
|
||||
* @module color-space/ydbdr
|
||||
*/
|
||||
|
||||
import rgb from './rgb.js';
|
||||
import yuv from './yuv.js';
|
||||
|
||||
|
||||
var ydbdr = {
|
||||
name: 'ydbdr',
|
||||
min: [0, -1.333, -1.333],
|
||||
max: [1, 1.333, 1.333],
|
||||
channel: ['Y', 'Db', 'Dr'],
|
||||
alias: ['YDbDr']
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* YDbDr to RGB
|
||||
*
|
||||
* @param {Array<number>} ydbdr RGB values
|
||||
*
|
||||
* @return {Array<number>} YDbDr values
|
||||
*/
|
||||
ydbdr.rgb = function (ydbdr) {
|
||||
var y = ydbdr[0], db = ydbdr[1], dr = ydbdr[2];
|
||||
|
||||
var r = y + 0.000092303716148 * db - 0.525912630661865 * dr;
|
||||
var g = y - 0.129132898890509 * db + 0.267899328207599 * dr;
|
||||
var b = y + 0.664679059978955 * db - 0.000079202543533 * dr;
|
||||
|
||||
return [r * 255, g * 255, b * 255];
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* RGB to YDbDr
|
||||
*
|
||||
* @param {Array<number>} rgb YDbDr values
|
||||
*
|
||||
* @return {Array<number>} RGB values
|
||||
*/
|
||||
rgb.ydbdr = function (rgb) {
|
||||
var r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255;
|
||||
return [
|
||||
0.299 * r + 0.587 * g + 0.114 * b,
|
||||
-0.450 * r - 0.883 * g + 1.333 * b,
|
||||
-1.333 * r + 1.116 * g + 0.217 * b
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* To YUV
|
||||
*/
|
||||
yuv.ydbdr = function (yuv) {
|
||||
return [
|
||||
yuv[0], 3.059 * yuv[1], -2.169 * yuv[2]
|
||||
]
|
||||
};
|
||||
|
||||
/**
|
||||
* From YUV
|
||||
*/
|
||||
ydbdr.yuv = function (ydbdr) {
|
||||
return [
|
||||
ydbdr[0], ydbdr[1] / 3.059, -ydbdr[2] / 2.169
|
||||
]
|
||||
};
|
||||
|
||||
|
||||
export default (ydbdr);
|
||||
Reference in New Issue
Block a user