Image/matrix shift

版本 1.1.0.0 (82.1 KB) 作者: Nikolay S.
Two of my functions used for registration-matrix shifting as alternative to circshift.
1.0K 次下载
更新时间 2014/1/27

查看许可证

The following functions are proposed to implement matrix data shift in user defined direction. In case of image processing it is highly useful in image stabilization, denoising etc…

In short:
- "floatingCircShift" is a variant of circhift, but supports non integer inputs, for numerical matrices. Supports 'circular' padding.

- "normshift" fast and efficient multi-dimensional and multi-type, with only zero bound assumption.

- "imshift" designated to be used with images (numerical matrices up to 3 dimentions). Capable to shift several images at once, user definable boundaries assumptions: 'zero', 'circular', 'replicate' 'symmetric'. See "imfilter" for details.

Why was this needed? While circhift is fast and all types and input dimensions supporting, is implies a circular signal, which in not always the case. In addition it supports only integer shift values, while fractional number sometimes needed. See subplot 1- with sky’s coming out of the ground. Sometimes it is better to assume zero values outside the image bounds- see subplots 2,3. In this case my function "normshift" will be useful, as it is fast and supports all types of data.
When a user needs additional boundaries assumptions, he can use my "imshift" function, which is somewhat limited in supported inputs (numerical matrices up to 3 dimensions), and runs at slower pace, but it supports different types of boundaries types : 'symmetric', 'replicate'-subplot 4, 'circular’ and zero/X values bounds.

For details see functions headers, and demo file "demoImageShifting.m"

引用格式

Nikolay S. (2024). Image/matrix shift (https://www.mathworks.com/matlabcentral/fileexchange/32078-image-matrix-shift), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2011a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Geometric Transformation and Image Registration 的更多信息
致谢

启发作品: Shift based LBP

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.1.0.0

• Support non integer shifts for numeric inputs.
• Added fractional circular shift.
• Added demo demonstrating each method, and possible applications.

1.0.0.0