File Exchange

image thumbnail

rigid and non rigid image registration using sumulink

version 1.0 (723 KB) by

using optical flow block Iteratively enables rigid and non rigid image registration



No License

This optical flow program shows how "optical flow" block from Video and image processing blockset of Simulink is capable dealing with BOTH rigid and non rigid optical flow!

The advantage using this block for optical flow is it's speed and the reason you can easly export it to c (using real time workshop)

To run this demo
1. run the run_first.m file once
2. run the run_second.mdl file (press play several times)

*press play again and again and again.. every time you hit play the i1 picture will be registered better to i2
*you can change the images in the run_first.m file, using pictures of both rigid and non rigid motion between
*you can change the parameters of the optical flow in the optical flow block in the model run_second.mdl

more info
please see the stop function of the model to understand the whole process: file->model properties->callback->StopFcn
the reason you have to press play several times (as you want more accuracy) is that: to warp the image, i use function interp2() (within the function ImWarp).
if you know how to implement 2-D data interpolation in simulink (instead uinterp2() function) , please post a modified model.

pictures taken from:
non-rigid b-spline grid image registration
High accuracy optical flow

ImWarp function taken from:
Iterative Pyramidal LK Optical Flow

*By Assaf Laufer

Comments and Ratings (2)

Vogue ?

Thank you!

Assaf laufer

MATLAB Release
MATLAB 7.7 (R2008b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video