<RGB --> HSV 변환 함수>
function rgb2hsv(r, g, b) {//RGB --> HSV변환함수
var max = Math.max(r, g, b), min = Math.min(r, g, b),
d = max - min,
h,
s = (max === 0 ? 0 : d / max),
v = max / 255;
switch (max) {
case min: h = 0; break;
case r: h = (g - b) + d * (g < b ? 6: 0); h /= 6 * d; break;
case g: h = (b - r) + d * 2; h /= 6 * d; break;
case b: h = (r - g) + d * 4; h /= 6 * d; break;
}
return {
h: h, s: s, v: v
};
}
<HSV--> RGB 변환 함수>
function hsv2rgb(h, s, v) {//HSV-->RGB 변환함수
var r, g, b, i, f, p, q, t;
h = h*360; s = s*100; v = v*100;
h = Math.max(0, Math.min(360, h));
s = Math.max(0, Math.min(100, s));
v = Math.max(0, Math.min(100, v));
h /= 360; s /= 100; v /= 100;
i = Math.floor(h * 6);
f = h * 6 - i;
p = v * (1 - s);
q = v * (1 - f * s);
t = v * (1 - (1 - f) * s);
switch (i % 6) {
case 0: r = v, g = t, b = p; break;
case 1: r = q, g = v, b = p; break;
case 2: r = p, g = v, b = t; break;
case 3: r = p, g = q, b = v; break;
case 4: r = t, g = p, b = v; break;
case 5: r = v, g = p, b = q; break;
}
return {
r: Math.round(r * 255),
g: Math.round(g * 255),
b: Math.round(b * 255)
};
}
'OpenCV없는 컬러영상처리 및 마우스 이벤트' 카테고리의 다른 글
Visual Studio code에서 로컬웹서버로 홈페이지 열기 (0) | 2022.09.26 |
---|---|
마우스 이벤트를 통한 칼라영상처리 (0) | 2022.09.25 |
히스토그램 처리하기 (0) | 2022.09.23 |
화소 영역 처리 (0) | 2022.09.23 |
기하학처리 (0) | 2022.09.23 |