This is a Python service that uses Google Protocol Buffers (protobuf) to transfer the EasyCV data structure into and out of Matlab. The service is configured through the config.service file. Configuration includes the name of the service, its TCP/IP port, the location of the Matlab executable, the Matlab file that gets invoked, and a temp directory for message exchange.
Services are configured as in this example: config.service.matlab_bridge
This sample requires availability of the Matlab Vision Toolbox. You will be able to run the Kalman filter tracking on a simple video sequence of a ball rolling across the field of view.
sample client code: track_kalman.py
sample Matlab code: kalman_tracker.m
training_sample.m
detection_sample.m
This project ties in with EasyCV. Just clone this repository into EasyCV/algorithms/matlab-bridge and create a file EasyCV/algorithms/UserCMakeLists.txt with the following contents:
IF (BUILD_WITH_MATLABBRIDGE)
ADD_SUBDIRECTORY(matlab-bridge)
ENDIF ()
Follow the instructions for building the protobuf-matlab compiler, but add the following include directives into protobuf/src/google/protobuf/message.cc before building:
#include <string>
#include <iostream>