Abstract

We developed a virtual machine for low-level video processing in the Actor Prolog object-oriented logic language. The principle of operation of this machine is the following one: (1) The machine keeps a sequence of commands of the low-level video processing. This sequence of commands is to be applied to every frame of the video. The loading of these commands into the machine is performed using predicates of the VideoProcessingMachine built-in class. (2) The machine keeps internal data arrays that are related to various sub-stages of the low-level video processing. Currently, the following sub-stages of the processing are implemented in the machine: preprocessing of the frame; processing of the frame in the pixel representation; selection of and processing the foreground pixels in the frame; extraction and tracing the blobs in the sequence of the frames. (3) The machine supports a stack of masks of foreground pixels. This stack enables the processing of different groups of blobs using different methods of image processing. (4) The result of the processing the frame of the video is a set of graphs that contain information about the movements of the blobs as well as other attributes of the blobs in the video scene during given time interval.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call