Human motion tracking pixel coordinates

I am looking for a very simple already implemented available code for human motion tracking in matlab only( without any C code since mex compiler does not work). The reason for me not going into the Kanade algorithm and developing it myself is because I only need the output data that is the path traced in terms of x,y coordinates with respect to time and video human tracking is not the main area of research. I am more concerned with information processing and extraction.I searched and found http://www.mathworks.com/matlabcentral/fileexchange/18151-motion-detection-in-a-video but it does not do so. It gives error
>> run
input video
??? Error using ==> aviread at 73
Unable to locate decompressor Indeo5 to decompress video stream.
See Mathworks Technical Solution 1-4G50QZ for more info.
I changed aviread to mmreader,but it does not take as input any other video file!
Error in ==> run at 5
avi = aviread('samplevideo.avi');
Please help if anyone has knowledge of such a tool available.Thank you.

 Réponse acceptée

Walter Roberson
Walter Roberson le 22 Jan 2012

0 votes

Are you running a 32 bit or 64 bit version of MATLAB? The Indeo codecs are not supported in the 64 bit version (that is, 64 bit versions of the codecs are not available at all.)
If you running Windows 7 and using 32 bit MATLAB then it is possible to install the Indeo codecs.

15 commentaires

chitra
chitra le 22 Jan 2012
I am running windows7 on 64 bit version PC. So,is there an alternative implementation which gives me the coordinates of human motion (Matlab or opencv) or a way to mitigate this?
Walter Roberson
Walter Roberson le 22 Jan 2012
If your data source must be AVI files that have been indeo5 encoded, then you will not be able to use the 64 bit version of MATLAB to read those files, but you _would_ be able to use the 32 bit version of MATLAB (which is able to run on your Windows 7 x64 system). To do that, "regsvr32 ir50_32.dll" as discussed at http://forum.videohelp.com/threads/266794-Indeo-5-x-problem-with-Vista
Possibly you could use a transcoder program to read the Indeo5 AVI and write it with a different codec that is supported in Windows-64.
chitra
chitra le 22 Jan 2012
I am extremely sorry but I dont understand this part >>regsvr32 ir50_32.dll". Do you suggest that I download Free Codecs?Is it possible to work with a new video recording taken from an HD camera using this program?Or is it always necessary to encode the video with a codec?
Walter Roberson
Walter Roberson le 22 Jan 2012
http://systemexplorer.net/filereviews.php?fid=5039698
"This file belongs to product Intel Indeo® video 5.10 and was developed by company Intel Corporation"
You will have to find a source for this that you trust. One source that has a bit of explanation is http://www.moviecodec.com/download-codec-packs/indeo-codecs-legacy-package-31/
Every HD camera that exports as AVI files uses _some_ codec. Depending on the model and firmware of the camera, it _might_ be possible to configure the camera to use a different codec that there happens to be an Windows 64 codec for.
All modern video formats use codecs, but some of the codecs might be extremely simple.
Someone might recognize the camera you are using if you mention the make and model.
chitra
chitra le 22 Jan 2012
C:It says that regsvr32ir50_32.dll is not recognized as an internal or external command.
chitra
chitra le 22 Jan 2012
And at present I am using Nikon coolpix p500
Walter Roberson
Walter Roberson le 22 Jan 2012
regsvr32 would be the command, and ir50_32.dll would be what you would type afterwards. And note that it would have to be done at a command shell (one run as administrator).
chitra
chitra le 22 Jan 2012
Hi:Its so embarrassing that I am stuck up with this simple thing and bothering you incessantly. I logged in as administrator (cmd-->ctr+shift+enter--->C:\Windows\system32>regsvr32 result error
"To register a module you must provide a binary name etc..." and if I type in both the commands together ,it gives something else error
Walter Roberson
Walter Roberson le 22 Jan 2012
regsvr32 SPACE ir50_32.dll
except with a space where I put SPACE.
You might perhaps have to be in the directory where the dll is stored.
Unfortunately I was not able to locate the possible codecs for the p500 in the time I had available.
chitra
chitra le 22 Jan 2012
Done what u said but its the same result C:\Windows\system32>regsvr32 ir50_32.dll.Anyways,thank you for your time and effort.
Walter Roberson
Walter Roberson le 23 Jan 2012
Sorry, could you clarify what error you got with that command? If it said that regsvr32 is not known, please try using regsvr64 instead.
I am having a heck of a time finding reliable information about the codec used in the P500, but what I do find is most suggestive that it uses H.264/MPEG-4. The P500 does NOT produce AVI files: it produces .MOV files.
chitra
chitra le 23 Jan 2012
I searched my computer for ir50_32.dll file. It is not present,hence I guess the error >regsvr32 is not recognized as an internal or external command,batch file etc;same result with regsvr64. Regarding the codec,please enlighten me that do i have to use a codec or can I simply proceed with any avi file. I am not aware about the requirements of a codec. Thanks a lot for your effort,no one devotes such time and patience nowadays!
Walter Roberson
Walter Roberson le 23 Jan 2012
If you do not have ir50_32.dll then you need to download it. See my comment above that says in part, "You will have to find a source for this that you trust" .
It appears that you may need to download regsvr64 (freeware) http://regsvr64.codeplex.com/
AVI files _require_ codecs. Some codecs have 64 bit versions available and some do not.
You said you were using the Nikon Coolpix P500. That camera does not produce AVI files: it produces .MOV files, and it appears most probable that the P500 would use the H.264 (MPEG-4) codec, which you _probably_ have in your system, especially if you loaded in Nikon's ViewNX2. I have a couple of Nikon Coolpix cameras myself, and for sure the ones I have produce .MOV files and not .AVI files.
A codec in Windows is basically a .dll to decompress images (especially movies.) There are a number of different codecs in use, sometimes for technical reasons, sometimes for more historical reasons, and sometimes simply to avoid paying royalty fees. As each of them is a set of callable routines, the DLL has to be compatible with the operating system in use and the manner in which it was invoked. Windows Vista and (even more so) Windows 7 made it difficult or impossible for some older codecs to work, and there is a fundamental incompatibility between programs (codecs) compiled for 32 bit use and codecs compiled for 64 bit use. A number of companies took the opportunity to drop support for old codecs, to not bother supporting the 64 bit versions.
chitra
chitra le 23 Jan 2012
Hi,i downloaded the ir50_32.dll as well as the regsvr64 and the codec indeo5. The command prompt also worked and there was no error.However,now MATLAB returns an error ??? Error using ==> run at 5
Initialization failed. (No combination of intermediate filters could be found to make the connection.) Now,what is this filter?
Walter Roberson
Walter Roberson le 23 Jan 2012
http://www.mathworks.com/support/solutions/en/data/1-62LFUH/index.html?product=ML&solution=1-62LFUH
Note that I did say early on that that dll was for use on the 32 bit version of MATLAB.
I would appreciate if you would take the time to clarify why it is that you are attempting to use .AVI movies when you indicated that your data source is a Nikon Coolpix P500 camera, which cannot produce AVI movies?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Read, Write, and Modify Image dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by