Shadow Detection from rgb video strem

6 views (last 30 days)
Hi everyone,
I need help in this code that I wrote in shadow detection but the function is stoping in the (IF)
and send the message
Operands to the || and && operators must be convertible to logical scalar values.
Error in ziad (line 46)
if( w>=alphaV || w<=betaV || sat<=-0.3 || hue <=0.2)
clc
clear
mov = VideoReader('car_s.avi');
path1='ziad\VideoFrame\';
path2='ziad\cfhue\';
path3='ziad\cfsatur\';
path4='ziad\cfValue\';
path5='ziad\imagesinRGB\';
mkdir(path1);
mkdir(path2);
mkdir(path3);
mkdir(path4);
mkdir(path5);
alphaV=0.2;
betaV=0.8;
[m,n]=size(mov);
single=zeros(m,n);
%
n=0;
while hasFrame(mov)
frame = readFrame(mov);
pf5=strcat(path5,num2str(n),'.jpg');
imwrite(frame,pf5)
bac=imread('C:\Users\Dr.Zee\Desktop\Shadow detection\ziad\imagesinRGB\23.jpg');
bchsv=rgb2hsv(bac);
bchue =bchsv(:,:,1);
bcsat =bchsv(:,:,2);
bcVal =bchsv(:,:,3);
im=rgb2hsv(frame);
pf1=strcat(path1,num2str(n),'.jpg');
% figure(1)
% imshow(im);
n=n+1;
imwrite(im,pf1)
cfh=im(:,:,1);
pf2=strcat(path2,num2str(n),'.jpg');imwrite(cfh,pf2)
cfs=im(:,:,2);
pf3=strcat(path3,num2str(n),'.jpg');imwrite(cfs,pf3)
cfv=im(:,:,3);
pf4=strcat(path4,num2str(n),'.jpg'); imwrite(cfv,pf4)
w= cfv-bcVal;
sat=cfs-bcsat;
hue=cfh-bchue;
if( w>=alphaV || w<=betaV || sat<=-0.3 || hue <=0.2)
single=1;
else
single=0;
end
end
%
%
% figure;
% imshow(single);

Answers (0)

Categories

Find more on Image Processing Toolbox 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!