Hello everyone. I have a jpg image with blue to red color corresponding to different value. There is also a colorbar showing each colorscale correspond to a value. Is there a simple way to convert this color image into matrix? Thanks a lot.

 채택된 답변

Jos (10584)
Jos (10584) 2017년 11월 30일

0 개 추천

So you have combinations of red and blue colour values (R,B) that correspond to a some arbitrary single values V according to the colour scale. Perhaps 2D interpolation, will work for you:
Extract all the the (R,B) combinations for each pixel (Rq,Bq)
Vq = interp2(R,B,V,Rq,Bq)
If the green channel is also important, use interp3.

추가 답변 (2개)

Image Analyst
Image Analyst 2017년 11월 30일

1 개 추천

See my attached demo where I used the colormap in a thermal image to convert that into a grayscale temperature image.
Stephen23
Stephen23 2017년 11월 30일

0 개 추천

Use rgb2ind.

댓글 수: 2

Jos (10584)
Jos (10584) 2017년 11월 30일
+1 Hopefully it is indeed that simple ...
Image Analyst
Image Analyst 2017년 11월 30일
That's the gist of it, but it's not that simple unless you already have the colormap. In many cases, the user does not and has only some kind of screenshot. My solution also uses rgb2ind() but also does the hard part of figuring out how to obtain the colormap.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Color and Styling에 대해 자세히 알아보기

질문:

Xin
2017년 11월 30일

댓글:

2017년 11월 30일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by