File Exchange

image thumbnail

Droste Effect Tool

version 1.2 (1.59 MB) by

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



View License

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.

Comments and Ratings (3)

As I suspected: Because of fir1 this code works only with Signal Processing Toolbox.

The function filter_image() is using fir1 ( which is part of the Signal Processing Toolbox so this must be added under "Requires" or am I missing something?

Alan Brooks

Very interesting and fun.



Fix spelling typo


Show GUI screenshot in the published m-file.

MATLAB Release
MATLAB 7.6 (R2008a)

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

» Watch video