error with the function of hsv code..please help

1 view (last 30 days)
function [im_col]=gethsvcolour(circle,h1,h2,s1,s2,v1,v2)
% [im_col]=getcolor(imh,h1,h2,s1,s2,v1,v2)
% im_col = returned image with desired color range
% imh = input image in hsv format
% h1 = hue start range if you want to cover greater than 0.8 and less than 0.2, basically for RED color, than enter -0.2
% h2 = hue end range
% s1 = saturation start range
% s2 = saturation end range
% v1 = value start range
% v2 = value end range
%
% For reference, Red, Green and Blue color can be fetched as below
% Hue ranges :
% Red -0.2 to 0.22
% Green 0.22 to 0.55
% Blue 0.55 to 0.8
% Syntax :
% imh=getcolor(imt,-0.2,0.22,0.20,1,0.20,1);
if h1<0
h1=1+h1;
h=or(imh(:,:,1)>=max(h1,h2),imh(:,:,1)<=min(h1,h2));
else
h=and(imh(:,:,1)<=max(h1,h2),imh(:,:,1)>=min(h1,h2));
end
s=and(imh(:,:,2)<=max(s1,s2),imh(:,:,2)>=min(s1,s2));
v=and(imh(:,:,3)<=max(v1,v2),imh(:,:,2)>=min(v1,v2));
mul=h&s&v;
mul=repmat(mul,1,3);
mul=reshape(mul,size(imh,1),size(imh,2),3);
im_col=imh.*mul;
this code is not working...the error " function [im_col]=getcolor(circle,h1,h2,s1,s2,v1,v2) | Error: Function definitions are not permitted in this context."
can somebody help me understand how i can make this code work to get a image overall red, blue and green in hsv values...
  1 Comment
Ashish Uthama
Ashish Uthama on 14 Aug 2013
The function you have shown is gethsvcolour, but the error takes about getcolor. Look for the line number in the error message (or click on the line number) and inspect the code, that should give you a clue to start debugging.

Sign in to comment.

Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!