Finding Height Using Color Spectrum
이전 댓글 표시
I have an image, where the colors correspond to height. Please refer to below image. On the colormap spectrum: Blue is -500 meters Red is +500 meters
1) I want to Make plot for the height along Line 1
2) Make plot for the height along Line 2
3). Create a 2D array for the height values for the image. Basically, for every pixel position, give a corresponding height value. For simplicity, you can assume the grey pixels have a value of -1000 m.


Your help will be much appreciated.
Thanks in advance.
댓글 수: 12
Walter Roberson
2021년 3월 14일
That is homework and you have not shown any effort.
There is not enough information to solve the problem. Giving two color endpoints does not tell you how height varies with color.
Walter Roberson
2021년 3월 14일
Are we to assume that depth is linear with difference in hue? https://www.researchgate.net/figure/a-RGB-b-HSV-color-space_fig2_335470954
Adnan Khan
2021년 3월 14일
Adnan Khan
2021년 3월 14일
Walter Roberson
2021년 3월 14일
If we were permitted to assume that depth is linear in angle of difference of hue, then convert to hsv, and find the hue channel difference compared to pure blue and do linear interpolation.
Adnan Khan
2021년 3월 14일
Adnan Khan
2021년 3월 14일
Walter Roberson
2021년 3월 14일
Hue is an angle. Pure red is 0. If you head one direction around the circle then blue is 120 degrees away. If you head the other direction around the circle then 120 degrees is green and blue is 240 degrees. You need to study the diagram I linked to and experiment with rgb2hsv to figure out which direction you need to travel and what values rgb2hsv uses to represent the angles.
Adnan Khan
2021년 3월 14일
timg = permute([1 0 0; 0 0 1], [3 1 2])
image(timg)
thsv = rgb2hsv(timg)
thue = thsv(:,:,1)
Pure red has a hue of 0. Pure blue has a hue of 2/3.
Pure red corresponds to a height of +500 meters. Pure blue corresponds to a height of -500 meters.
A*0 + B = 500
A*2/3 + B = -500
Subtract. 2*A/3 + (B-B) = -500 - 500 --> 2*A/3 = -1000 --> 2*A = -3000 -> A = -3000/2 --> A = -1500.
You should be able to work out B easily from this, and from that you should easily be able to calculate the formula that maps hue to height in your system.
Remember, Hue is the first pane of an HSV image, not all of the panes.
Adnan Khan
2021년 3월 16일
Adnan Khan
2021년 3월 16일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 White에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



