more than 256 colors in colormap no longer working
8 次查看(过去 30 天)
显示 更早的评论
I wondered if anyone has seen this before?
if i use: figure; imagesc(randn(256)) colormap(jet(256))
the image is displayed as i would expect with 256 graduations in the jet color scheme.
but if i change to colormap(jet(300)) it starts to mess up the color map and if increase higher, I end up, eventually, with one colour in the color map.
This used to work fine, and still works on my linux versions of matlab (i think it's 2011a), but on the 64 bit version on windows (both 2011a and 2012a on windows 7) it messes up.
This is causing some grief as i have some plotting functions that use custom colormaps with a large number of colors which no longer work.
anyone any idea why?
Cheers
Richard
回答(2 个)
Doug Hull
2012-9-6
Currently, there is a 256 row colormap limit on the PC platform. The workaround is to manually reduce the colormap length, by consolidating colors that are "close enough" into one color. The Image Processing Toolbox contains routines for accomplishing this. Our developers are aware of this limitation and are investigating other possible workarounds.
Richard Smith
2012-10-10
2 个评论
Dennis
2014-1-3
Thanks Richard Smith! Your workaround works for me as well (R2013b 64bit). I do think matlab should solve this issue with their default renderer...
John Ebersole
2015-2-6
This is great! I've been looking for a while for this.
I perform gamma correction whenever I plot images, so for a PC with a gamma of 2.2, the following looks great:
imagesc(myimage); axis image; colormap(gray(8192).^(1/2.2)); set(gcf,'renderer','OpenGL')
If I only use 256 instead of 8192, deep grays turn black too easily.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 White 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!