Clear Filters
Clear Filters

Normalization of figure based on colour (RGB)

3 views (last 30 days)
Hello,
I have my code here;
color_image = {};
map = hsv(256);
for i = 1:size(Data_SWS_BMd_A3,2)
image = Data_SWS_BMd_A3{i}.SWS_Img;
uint_image = uint8(255*mat2gray(image));
color_image{i} = ind2rgb(uint_image, map);
end
I want to normalize my figures base on one range colour to find a relationship between them.
Can anyone help me 1) how I can nomalize it?
2) how should I change the binary of my picture to expand the range of colour?
I need the answer soon, I would be grateful if anyone can help me regarding that.
Regards
Thanks

Answers (1)

Image Analyst
Image Analyst on 26 Aug 2020
I can't really tell you how to standardize the images unless I know what's in it, and your intent. I mean you could simply use rescale(rgbImage, 0, 255) but that may not be what you want. Maybe you have a Color Checker Chart in the image and want to use that do to a true color standardization like the pros do. I don't know. Anyway, see my attached tutorial.
  6 Comments
Image Analyst
Image Analyst on 27 Aug 2020
What is the class and range of your images? Are they uint8 (0-255), or uint16 (0-65535), or double?
Zip up your images and attach the zip file and let me know what intensity range should be each color. Like what values should be green, what values should be yellow, etc.
Fatemeh Shomal Zadeh
Fatemeh Shomal Zadeh on 27 Aug 2020
They are 0 to 255. a
The zipped file exceeds 5 MB and does not allow me to upload it here. Please let me know how I can send them to you?
Also, please see the attachment which provides 3D cylindrical figures at all point and also I just pasted the codes here as well:
load clown
figure(2)
hold on
for i = 1:size(Data_SWS_BMd_A3,2)
imgRGB = Data_SWS_BMd_A3{i}.SWS_Img;
[imgRows,imgCols,imgPlanes] = size(imgRGB);
[X,Y,Z] = cylinder(imgRows,imgCols);
surface(X,Y,Z,flipud(imgRGB),...
'FaceColor','texturemap',...
'EdgeColor','none',...
'CDataMapping','direct')
mymap = [0 0 0
1 0 0
0 1 0
0 0 1
1 1 1];
colormap(mymap)
colorbar
angle = prb_angle(i);
view(0,45);
%0 is azimuth
end
hold off
As you can see, I would prefer to have my figures in the value of my map that I have defined in my codes.
I want 19 figures which is extracted from 19 angles and have the same colour as this cylinder but as a surface not cylindrical.
Thanks so much for all your help and I do really appreciate it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!