Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: image processing
Date: Sun, 8 Feb 2009 19:06:02 +0000 (UTC)
Organization: Queen's University
Lines: 9
Message-ID: <gmnaeq$kpo$1@fred.mathworks.com>
References: <gmkfio$ghj$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1234119962 21304 172.30.248.37 (8 Feb 2009 19:06:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Sun, 8 Feb 2009 19:06:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 943450
Xref: news.mathworks.com comp.soft-sys.matlab:516937


If I understand you correctly, one method would be to use SURF to display planes and use your image data to provide the colours/gray levels.  For example, if your image is in a variable IM:

offset = 0;
[xx, yy] = meshgrid(1:size(im,2), 1:size(im,1));
zz = ones(size(xx)) * offset;
surf(xx, yy, zz, im, 'EdgeColor', 'none');
colormap gray

You can have multiple planes by varying the offset.  You can also control the transparency of each plane with the 'FaceAlpha' property.  The interactive controls will allow you to rotate in 3D, although I suspect that would be very slow for high resolution images.  It could help to determine a nice display angle on a very low resolution version of your images, store it using the VIEW function and then use VIEW again to set the angle directly from the command line for the final plot.