color-space
Advanced tools
Comparing version 1.9.0 to 1.10.0
@@ -26,2 +26,3 @@ /** | ||
ycbcr: require('./ycbcr'), | ||
yccbccrc: require('./yccbccrc'), | ||
lab: require('./lab'), | ||
@@ -28,0 +29,0 @@ labh: require('./labh'), |
{ | ||
"name": "color-space", | ||
"description": "Color space conversions and data", | ||
"version": "1.9.0", | ||
"version": "1.10.0", | ||
"author": "Deema Yvanow <dfcreative@gmail.com>", | ||
@@ -6,0 +6,0 @@ "keywords": [ |
@@ -66,3 +66,3 @@ # Color-space [![Build Status](https://travis-ci.org/dfcreative/color-space.svg?branch=master)](https://travis-ci.org/dfcreative/color-space) [![Code Climate](https://codeclimate.com/github/dfcreative/color-space/badges/gpa.svg)](https://codeclimate.com/github/dfcreative/color-space) [![stable](http://badges.github.io/stability-badges/dist/stable.svg)](http://github.com/badges/stability-badges) | ||
* [x] [YC<sub>b</sub>C<sub>r</sub>](https://en.wikipedia.org/wiki/YCbCr) | ||
* [ ] [Y<sub>c</sub>C<sub>bc</sub>C<sub>rc</sub>](https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.2020_conversion) | ||
* [x] [Y<sub>c</sub>C<sub>bc</sub>C<sub>rc</sub>](https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.2020_conversion) | ||
* [ ] [JPEG](https://en.wikipedia.org/wiki/YCbCr#JPEG_conversion) | ||
@@ -69,0 +69,0 @@ * [ ] [XvYCC](https://en.wikipedia.org/wiki/XvYCC) |
/** | ||
* https://en.wikipedia.org/?title=YCbCr | ||
* YcCbcCrc is ITU-R BT.2020 | ||
* | ||
* YCbCr is a digital form of YPbPr conversion | ||
* Thence limits are [0..255] | ||
* | ||
* @module color-space/ycbcr | ||
* @module color-space/yccbccrc | ||
*/ | ||
var rgb = require('./rgb'); | ||
var ypbpr = require('./ypbpr'); | ||
var ycbcr = module.exports = { | ||
name: 'ycbcr', | ||
min: [16, 16, 16], | ||
max: [235, 240, 240], | ||
channel: ['Y','Cb','Cr'], | ||
alias: ['YCbCr', 'YCC'] | ||
var yccbccrc = module.exports = { | ||
name: 'yccbccrc', | ||
min: [0, -0.5, -0.5], | ||
max: [1, 0.5, 0.5], | ||
channel: ['Yc','Cbc','Crc'], | ||
alias: ['YcCbcCrc'] | ||
}; | ||
@@ -22,20 +20,10 @@ | ||
/** | ||
* YCbCr to RGB | ||
* YcCbcCrc to RGB | ||
* | ||
* @param {Array} ycbcr RGB values | ||
* @param {Array} yccbccrc RGB values | ||
* | ||
* @return {Array} YCbCr values | ||
* @return {Array} YcCbcCrc values | ||
*/ | ||
ycbcr.rgb = function(ycbcr, kb, kr) { | ||
var y = ycbcr[0]/255, cb = ycbcr[1]/100, cr = ycbcr[2]/100; | ||
//default conversion is ITU-R BT.709 | ||
kb = kb || 0.0722; | ||
kr = kr || 0.2126; | ||
var r = y + 2 * cr * (1 - kr); | ||
var b = y + 2 * cb * (1 - kb); | ||
var g = (y - kr * r - kb * b) / (1 - kr - kb); | ||
return [r,g,b]; | ||
yccbccrc.rgb = function(yccbccrc) { | ||
return ypbpr.rgb(yccbccrc, 0.0593, 0.2627); | ||
}; | ||
@@ -45,20 +33,10 @@ | ||
/** | ||
* RGB to YCbCr | ||
* RGB to YcCbcCrc | ||
* | ||
* @param {Array} ycbcr YCbCr values | ||
* @param {Array} yccbccrc YcCbcCrc values | ||
* | ||
* @return {Array} RGB values | ||
*/ | ||
rgb.ycbcr = function(rgb, kr, kb) { | ||
var r = rgb[0], g = rgb[1], b = rgb[2]; | ||
//default conversion is ITU-R BT.709 | ||
kb = kb || 0.0722; | ||
kr = kr || 0.2126; | ||
var y = kr*r + (1 - kr - kb)*g + kb*b; | ||
var cb = 0.5* (b - y) / (1 - kb); | ||
var cr = 0.5* (r - y) / (1 - kr); | ||
return [y, cb, cr]; | ||
rgb.yccbccrc = function(arr, kr, kb) { | ||
return rgb.ypbpr(arr, 0.0593, 0.2627); | ||
}; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
92516
2931