How do I tune a color scale to a matrix image?
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi, I have a problem with my other programming tool and have to use MatLab to draw a 2D map with the specific color scale. The function is basically like mat2gray(), only difference is that instead of the gray color scale, I need it to be like the color scale in the image attached.
댓글 수: 0
채택된 답변
jonas
2018년 9월 18일
편집: jonas
2018년 9월 18일
You can easily draw your matrix with a specific colormap. You don't need to convert it to an image beforehand.
A=peaks;
imagesc(A);
colormap(bone);
If you then want the image data, you can just type
I = getframe;
and then you can treat is as an image
imshow(I.cdata)
댓글 수: 3
jonas
2018년 9월 22일
편집: jonas
2018년 9월 22일
It was just an example. Just stack the colors of a single column of your colorscale and use it as colormap. If I is the RGB matrix of your colorbar, then I(:,1,:) contains the RGB triplets of your colormap. Just reshape it from nx1x3 to a nx3 matrix.
Can give you code in a bit if you dont figure it out. On mobile atm.
jonas
2018년 9월 23일
Here you go
A=peaks;
imagesc(A);
I=imread('image.png')
cmap=im2double([I(:,1,1) I(:,1,2) I(:,1,3)])
colormap(cmap);
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Modify Image Colors에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!