How to code this formula?

code.PNG
Please help me to convert from HSV to RGB with this equation

8 commentaires

Walter Roberson
Walter Roberson le 5 Déc 2019
Call rgb2hsv()
this formula convert from HSV to RGB not rgb2hsv(), can you help me?
i just can code this
C = F.*saturationValue;
Y = mod(hueValue1/60,2)-1;
l = abs(Y);
X = C.*(1-l);
m = F-C;
how can i code (R',G',B')?
Walter Roberson
Walter Roberson le 5 Déc 2019
Call hsv2rgb() then.
Walter Roberson
Walter Roberson le 5 Déc 2019
Use logical indexing to code the R' G' B' in vectorized form. Or use a for loop with if and elseif
Alvin Alvin
Alvin Alvin le 5 Déc 2019
Can't do that because the color is not same with original, so in this code i convert the original image from RGB to HSV, then i enhancement the V and store with variable F, and want to make HSV with the Enchancement V which is F to RGB again
12.PNG
and this is the Old Value and NEw Value with Enhancement
12 Value.PNG
Walter Roberson
Walter Roberson le 5 Déc 2019
Can't do that
Can't do what ?? Can't use hsv2rgb() ? Can't use logical indexing to code the R' G' B' in vectorized form? Can't use a for loop with if and elseif ?
Alvin Alvin
Alvin Alvin le 5 Déc 2019
can't use logical indexing to code the R' G' B' in vectorized form and Can't use a for loop with if and elseif too
Rp = zeros(size(H));
Gp = zeros(size(H));
Bp = zeros(size(H));
for K = 1 : numel(H)
if H(K) < 60
Rp(K) = C(K);
Gp(K) = X(K);
Bp(K) = 0;
elseif H(K) < 120
Rp(K) = X(K);
Gp(K) = C(K);
Bp(K) = 0;
elseif
and so on
end
end
What prevents you from using a for loop with if and elseif ?

Connectez-vous pour commenter.

Réponses (1)

Andrei Bobrov
Andrei Bobrov le 5 Déc 2019

0 votes

function rgb = HSVtoRGB(H,S,V)
n = numel(H);
C = V.*S;
X = C .* (1 - abs(mod(H/60,2) - 1));
A = [C, X, zeros(n,1)];
i = discretize(H,0:60:360);
j = perms(1:3);
j = j([6,4,2,1,3,5],:);
r = repmat((1:n)',1,3);
rgbs = A(sub2ind([n,3],r,j(i,:)));
rgb = 255*(rgbs + V - C);
end

Catégories

En savoir plus sur Modify Image Colors dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by