I have written the code to convert the RGB to different color ,in the command window result is correct but the resulting image was not displayed
1 view (last 30 days)
Show older comments
clc
close all;
clear all;
[fname path]=uigetfile('*.*','insert the pic');
a=imread(fname);
imshow(a)
w=0;d=0;z=0;
b=zeros(size(a,1),size(a,2),size(a,3));
for i=1:size(a,1)
for j=1:size(a,2)
for k=1:size(a,3)
if a(i,j,k)<=80
b(i,j,k)=34;
w=w+1;
elseif a(i,j,k)<=120
b(i,j,k)=80;
d=d+1;
elseif a(i,j,k)<=255
b(i,j,k)=27;
z=z+1;
end
end
end
end
figure;
imshow(b);
0 Comments
Answers (1)
Vandana Rajan
on 1 Mar 2017
Hi,
It seems that there are some problems with the conditions you are giving.
a(i,j,k)<=120 includes all values below 120, which includes values below 80 too. May be you are thinking of values between 81 and 120? In that case you need to give 80<a(i,j,k)<=120. Similarly for a(i,j,k)<=255.
2 Comments
Vandana Rajan
on 8 Mar 2017
yeah. for that you need to write (a(i,j,k)>80 && a(i,j,k)<=120). What I provided above was the logic and not the exact syntax.
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!