Color tracking and movement tracking software debugging

9 次查看(过去 30 天)
Helloo! I am making code that will track the mouth movement of locusts from videos. The locusts have their faces painted green so I trying to identify all RGB green pixels on the first frame to create a region of interest for the rest of the video where I will try to detect changes in pixels which will hopefully correlate to movement. The videos also have camera shake (from the camera trying to focus) so I tried to account for that by calculating the noise. The current error is that "Arrays have incompatible sizes for this operation." for line 27 but I feel like there might be some other issues as well since I am very new to this side of MATLAB. Please help me out appreciate it!!

回答(1 个)

Jinal
Jinal 2023-3-13
Hi Ryan,
I understand that in line 27 you are trying to subtract ‘color_to_track’ from the frame that has been read from the video.
An error is being thrown in line 27 because the sizes of ‘frame’ and ‘color_to_track’ are different. The size of ‘frame’ is 240 x 320 x 3, which is the default size of frame for RGB video, while the size of ‘color_to_track’ is 240 x 320 x 1. The error should be resolved by making the following modification in line 25.
color_to_track = repmat(color_to_track, [size(frame,1) size(frame,2) 3]);
You can find more information about dimensions of video for various video formats on the link given below: https://www.mathworks.com/help/matlab/ref/videoreader.readframe.html#buuzswj-4
Hope this helps.

类别

Help CenterFile Exchange 中查找有关 Tracking and Motion Estimation 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by