MATLAB: Why does the colorbar look like this

colorbardctimage processing

why does The colorbar looks gray all the time and matlab gives me this warning ?:
Warning: Error updating ColorBar. While setting the 'Limits_I' property of ColorBar: Value must be a 1×2 vector of numeric type in which the second element is larger than the first
> In defaulterrorcallback (line 12) In movegui (line 113) In images.internal.initSize (line 112) In imshow (line 305) In lena (line 13)
and here is the code:
A = imread('process/1.jpg');
B=blkproc(A,[8 8],'dct2')
imshow(log(abs(B)),[]), colormap(jet(64)), colorbar
figure
imshow(B);
B(abs(B)<10)=0;
figure
imshow(B);
C=blkproc(B,[8 8],'idct2');
round(C);
figure
imshow(C,[0 255]);
The image that i used :
the colorbar:

Best Answer

You are not showing B and C with a colormap. They are on new figures and the colormap does automatically get copied onto completely new and different figures. Not only that, but they are different display ranges so even if you did they wouldn't look right.
Reissue the colormap command after you show the images on the new figures
colormap(jet(256));