How to translate image and pad border ?

3 views (last 30 days)
RuiQi
RuiQi on 24 Jun 2016
Edited: Adam on 24 Jun 2016
Hi I would like to use imtranslate but i want the output to not have black borders and be of same size as input. Like if my input is
1 2 3
4 5 6
7 8 9
and i translate 1 pixel to the right, then the output is
1 1 2
4 4 5
7 7 8

Answers (1)

Adam
Adam on 24 Jun 2016
You could do this manually just as
mat = [ 1 2 3; 4 5 6; 7 8 9 ];
res = [ mat(:,1), mat(:,1:end-1) ];
  2 Comments
RuiQi
RuiQi on 24 Jun 2016
Well I have thousands of images that I want to randomly translate to generate thousands more images. It would be nice if there is a function like in OpenCV that handle the padding for you so all I have to do is generate the function to randomly jitter the images.
Adam
Adam on 24 Jun 2016
Edited: Adam on 24 Jun 2016
Well, it depends what you mean by "randomly translate". I tend to write my own functions for most of the things I want to do based on the components available in Matlab. It is true that I then sometimes discover a Matlab builtin or toolbox function that does exactly the same thing though.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!