The following code allows me to perform Histogram equalization but what I get is a GRAY Scale image, what I need is the RGBA/RGB image...
Tried merging but did not work. How to get the equalized color image as output?
function openCvReadyRGBA() {
var img = document.getElementById("source");
let src = cv.imread(img);
let equalDst = new cv.Mat();
let claheDst = new cv.Mat();
cv.cvtColor(src, src, cv.COLOR_RGBA2RGB, 0);
cv.cvtColor(src, src, cv.COLOR_RGB2YCrCb, 0);
let ycrcb_planes = new cv.MatVector();
cv.split(src, ycrcb_planes);
cv.equalizeHist(ycrcb_planes.get(0), equalDst);
//cv.merge(ycrcb_planes, equalDst);
cv.imshow('canvasOutputRGBA', equalDst);
src.delete(); equalDst.delete();
}
EDIT...
function openCvReadyRGBA() {
var img = document.getElementById("source");
let src = cv.imread(img);
let equalDst = new cv.Mat();
let claheDst = new cv.Mat();
cv.cvtColor(src, src, cv.COLOR_RGBA2RGB, 0);
cv.cvtColor(src, src, cv.COLOR_RGB2YCrCb, 0);
let ycrcb_planes = new cv.MatVector();
cv.split(src, ycrcb_planes);
cv.equalizeHist(ycrcb_planes.get(0), ycrcb_planes.get(0));
cv.merge(ycrcb_planes, equalDst);
cv.cvtColor(equalDst, equalDst, cv.COLOR_YCrCb2RGB, 0);
cv.imshow('canvasOutputRGBA', equalDst);
src.delete(); equalDst.delete();
}