Loading, Processing and Analysing 3-D Images
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Anne-Lene
am 7 Apr. 2014
Kommentiert: Image Analyst
am 9 Jan. 2016
Hello,
I have a volumetric 3-D binary Image (only one file in '.tiff') and would like to upload, display and process it in Matlab.
The Image solely contains black (0) and white (1) values - black is background and white pixels grouped together are some objects.
The main goal is to count all of the objects. I tried this using bwconncomp(), which apparently does not work. According to matlab, the total number of objects is 4. However, only the first slice of my 3-D image contains 4 objects and the whole 3-D image contains over a 100.
I loaded the 3-D image using imread(). How do I have to upload the image correctly so that I can see and count all objects in the 3-D space.
I would be very happy to receive a reply.
Thank you,
Anne
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 7 Apr. 2014
You say you have 4 objects in just the first slice and that there's at least 96 more in the remaining slices. Are you considering each slice to be one separate image? What if you have 20 slices and every single slice has those same blobs as the first slice. Do you have 4 objects, or 80 objects? bwconncomp() will say you have 4 because the objects in adjacent slices are connected to each other. What do you say?
8 Kommentare
Weitere Antworten (1)
S C.Carl
am 8 Jan. 2016
Hi,
I have a similar problem but could not solve it. I used the following codes to reconstruct a 3D image that includes 2D slices
for slice = 1 : numberOfSlices filename = sprintf('image #%d', slice); fullFileName = fullfile(folder, filename); if exist(fullFileName, 'file) thisSlice = imread(fullFileName); array3d(:,:,slice) = thisSlice; end end
Then, I use imwrite and to obtain a tiff file that includes all 2D slices.
Now, I want to find connected components in the 3D tiff file. But, if I use
imread() function gives only the first slice in the tiff image.
Can you help me to solve this problem ?
1 Kommentar
Image Analyst
am 9 Jan. 2016
You need to use the TIFF class if you want multi-page Tiff files. Otherwise you'll have to built up your 3D images slice by slice in 3D with a for loop
array3d = zeros(rows, columns, numSlices);
for slice = 1 : numSlices
thisImage = imread(......... % Read in this image file.
array3d(:,:,slice) = thisImage;
end
Siehe auch
Kategorien
Mehr zu 3-D Volumetric Image Processing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!