- Calculate the global threshold by Otsu's method using the "graythresh" function as it works by choosing the threshold to minimize the intra-class variance of the black and white pixels in the image.
- The "imbinarize" function is then applied to convert the grayscale image I into a binary image using the threshold. In the resulting binary image, pixels with intensity values above threshold are initially set to true, while those with values below or equal to threshold are set to false.
- The logical NOT operator ~ is used to invert the binary image, making the pores (originally darker regions, which would be false) into true, and the solid matrix (originally lighter regions, which would be true) into false.
- The "bwconncomp" function is employed to perform a connected components analysis on the binary image "Ipores" and then using the "regionprops" function properties for the connected components are identified.
How to implement 3D reconstruction of pore distribution when we know pore volumes, equivalent diameters, and coordinates in matlab?
4 ビュー (過去 30 日間)
古いコメントを表示
Hello, everyone!
I am quite new to image processing in matlab. I am looking way to reconstruct 3D pore distibution from the data that was obtained from around 100 2D cross sectional slices of the porous sample. The data includes pore equivalent diameters, volumes, and its coordinates (x,y,z). If you don't mind, I would like to request to you to guide me how I should proceed with regard to this 3D reconstruction.
0 件のコメント
回答 (1 件)
Maneet Kaur Bagga
2023 年 12 月 29 日
Hello,
As per my understanding to create a 3D reconstruction of the pore distribution please refer to the steps below:
Please refer to the following code snippet below for better understanding:
% Assuming I is a 3D grayscale image representing the entire sample volume
lvl = graythresh(I);
Ipores = ~imbinarize(I, lvl); % Invert so pores are true
% Perform connected components analysis with 26-connectivity for 3D data
CC = bwconncomp(Ipores, 26);
% Calculate region properties for each pore
RP = regionprops(CC, 'Volume', 'Centroid', 'EquivalentDiameter', ...); % Add other properties as needed
% Calculate porosity
total_volume = numel(I);
pore_volume = sum(cellfun(@numel, CC.PixelIdxList));
porosity = pore_volume / total_volume;
Please refer to the MATLAB documentation for better understanding:
Hope this helps!
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で 3-D Volumetric Image Processing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!