Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %HSV new Function
- Idouble = im2double(Image);
- maxrgb = max(Idouble,[],3);
- minrgb = min(Idouble,[],3);
- V = maxrgb;
- S = (maxrgb-minrgb)./maxrgb;
- H = nan(size(Idouble,1),size(Idouble,2));
- for i = 1:size(Idouble,1)
- for j = 1:size(Idouble,2)
- if S(i,j) == 0
- delta = maxrgb(i,j) - minrgb(i,j);
- if maxrgb(i,j) == Idouble(i,j,1) %R==max
- H(i,j) = (Idouble(i,j,2) - Idouble(i,j,3)) / delta;
- elseif maxrgb(i,j) == Idouble(i,j,2) %G==max
- H(i,j) = 2 + (Idouble(i,j,2) - Idouble(i,j,3)) / delta;
- elseif maxrgb(i,j) == Idouble(i,j,3) %B==max
- H(i,j) = 4 + (Idouble(i,j,2) - Idouble(i,j,3)) / delta;
- end
- H(i,j) = H(i,j) * 60;
- if H(i,j) < 0
- H(i,j) = H(i,j) + 360;
- end
- end
- end
- end
- HSV2(:,:,1) = H;
- HSV2(:,:,2) = S;
- HSV2(:,:,3) = V;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement