Droste Effect Tool

バージョン (1.59 MB) 作成者: Steve Hoelzer
Apply the Droste Effect to an image using a GUI or function call.

ダウンロード 2.6K 件

更新 2009/5/13


Apply the Droste Effect to an image using a GUI or function call.

The Droste Effect is when an image recursively includes itself. The basic method is to insert a scaled copy of the image, but more interesting results can be achieved via conformal mapping.

The GUI can load an image, set a rectangular region for the effect, apply the Droste Effect, adjust parameters of the effect, and save the final image back to disk. The GUI uses droste_effect.m, which is a stand alone function for applying the Droste Effect.

img_out = droste_effect(img, reg) will apply the Droste Effect to matrix img within the region specified by reg. The img matrix can be 2-D or 3-D, corresponding to a grayscale or RGB image. The reg vector specifies [left, top, width, height] in pixels.

img_out = droste_effect(img, reg, 'p1', v1, 'p2', v2, ...) specifies optional parameters (pn) and values (vn) associated with the Droste Effect. The table below describes these parameters.

zoom: Scale. Default = 1.0x.
hshift: Horizontal shift, normalized [0...1]. Default = 0.
vshift: Vertical shift, normalized [0...1]. Default = 0.
rotate: Rotate. Default = 0 degrees.
nspiral: Number of spirals. Default = 1.
ncopies: Number of copies of image per spiral rotation. Default = 1.
maxrecur: Max recursion allowed to compute output. Default = 10.
width: Width of output in pixels. Default = same resolution as input.
aafactor: Anti-aliasing factor. Default = 1, higher = smoother. (0 = disable)

load penny
reg = [45 45 40 40];
img_out = droste_effect(P, reg, 'width', 400);

Running out of memory? Reduce the size of the input image before using this GUI for function.


Steve Hoelzer (2022). Droste Effect Tool (https://www.mathworks.com/matlabcentral/fileexchange/24102-droste-effect-tool), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2008a
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!