real time image processing (while loop)

조회 수: 1 (최근 30일)
naim
naim 2014년 2월 15일
답변: naim 2014년 2월 15일
hello im tring to write a real time motion detection matlab code but i have a weird problem with the while loop this is a part of the code
im=getsnapshot(vid);
while(i<m)
flag=0;
pause(.1)
im2=getsnapshot(vid);
im=imcrop(im,[mesh(i,1) mesh(i,2) (mesh(i,3)-mesh(i,1)) (mesh(i,4)-mesh(i,2))]);
im2=imcrop(im2,[mesh(i,1) mesh(i,2) (mesh(i,3)-mesh(i,1)) (mesh(i,4)-mesh(i,2))]);
im=rgb2gray(im);
im2=rgb2gray(im2);
fr_diff = abs(double(im) - double(im2));
but i get this error
Error using rgb2gray>parse_inputs (line 81) MAP must be a m x 3 array.
Error in rgb2gray (line 35) X = parse_inputs(varargin{:});
Error in testing (line 27) im=rgb2gray(im);
when the line im=getsnapshot(vid); is inside the loop it doesn't give an error!!!!

채택된 답변

Image Analyst
Image Analyst 2014년 2월 15일
What does
whos im
size(im)
say? It might be more robust to do this
[rows, columns, numberOfColorChannels] = size(im);
if numberOfColorChannels > 1
im = rgb2gray(im); % Convert color to gray scale.
end

추가 답변 (2개)

naim
naim 2014년 2월 15일
it is an rgb image when i change the code to
while(i<1)
im=getsnapshot(vid);
.
.
.
the code works with no errors O_o

naim
naim 2014년 2월 15일
ok i got it now i save the gray croped image in the same matrex (im) -.- XD ok thanks man :D

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by