El siguiente código me permite realizar la ecualización del histograma, pero lo que obtengo es una imagen en escala de GRIS, lo que necesito es la imagen RGBA/RGB...
Intenté fusionar pero no funcionó. ¿Cómo obtener la imagen de color ecualizada como salida?
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(); }EDITAR...
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(); }