How to add colorbar using image data
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
How can I add colorbar using the colors represented in the attached image (imagesr.png)? Thanks!
0 comentarios
Respuestas (1)
Matt J
el 27 de En. de 2024
I would guess maybe,
colormap parula
However, we really need to see the corresponding grayscale image to make an informed choice.
15 comentarios
Matt J
el 27 de En. de 2024
Editada: Matt J
el 28 de En. de 2024
But I uint8() afterwards ;-)
Yes, that's true. I have modified my version accordingly.
load Images
GID = round( rescale( GrayImage(:),1,256 ));
CID = reshape(double(ColorImage),[],3);
if any(CID(:)>1), CID=CID/255; end
cmap_red = accumarray(GID,CID(:,1),[256,1],@mean,nan);
cmap_green = accumarray(GID,CID(:,2),[256,1],@mean,nan);
cmap_blue = accumarray(GID,CID(:,3),[256,1],@mean,nan);
cmap = fillmissing( [cmap_red, cmap_green, cmap_blue],'linear' ,1);
close all
tiledlayout(3,1);
nexttile; imshow(ColorImage);
nexttile; imshow(GrayImage, colormap(gray(256)));
nexttile; imshow(GrayImage, cmap); colorbar
DGM
el 28 de En. de 2024
Editada: DGM
el 28 de En. de 2024
There are multiple problems here. The two images aren't the same size, and they don't seem to be registered, so simply resizing them won't help.
Let's say you resized them anyway and ignored all the error caused by misregistration. I imagine this isn't an acceptable result:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1602096/image.png)
Note how much color has simply been lost. Given the span of the color cloud, I have to question whether this was generated using a simple linear colormapping process. At the very least, it's not meaningful to reduce it to a 1D colormap. It looks more like it's a 2D mapping of some sort. If it is a 2D mapping, then I have to suspect that it's based on more information than the single grayscale image that's been given.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1602021/image.png)
Is the image the process of any colormapping process, or is it just some sort of composite image? If that's the case, why have a colorbar at all?
The colored image is larger and blurrier than the source grayscale image. Maybe it's a screenshot? Either way, if the grayscale image is the source image, then we should be working from that instead of some mystery degraded copy, the meaning of which nobody understands yet. If you know where the colored copy came from or how it was created, now would be the time to tell us.
Ver también
Categorías
Más información sobre Colormaps en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!