Read the screen value according to the colorbar

5 次查看(过去 30 天)
i have a picture with color bar and now we can see blue square if i want collect (For example the second picture) i only write
img1 = imread('10245.jpg');
img = 1*double(img1)
but data show 100 90 120 and so on.... how i should do

采纳的回答

Walter Roberson
Walter Roberson 2023-11-21
img1 = imread('10245.jpg');
img = im2double(img1);
However, the result is going to be a 3D array (RGB) with entries in the range 0 to 1. It is not going to be an intensity image with values in the range 0 to 1.
It looks like the colormap might be parula. You could experiment with
img1 = imread('10245.jpg');
intens_img = rescale(rgb2ind(img1, parula), 0, 1, 'InputMin', 0, 'InputMax', 255);

更多回答(1 个)

Image Analyst
Image Analyst 2023-11-21
If you are really starting with an RGB image of an indexed image that has been pseudocolored with a colormap, then you will need to "undo" the colormap to get back to the original values. See my File Exchange entry where I get the actual temperature image (floating point numbers in degrees Celsius) from a pseducolored RGB image.

类别

Help CenterFile Exchange 中查找有关 Green 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by