How do i fix this interference on my surf plot

Im making a 3D scanner using a moire pattern and my reconstruction of my object (a half sphere), looks kind of weird, with peaks along the edges. How do i fix this?

回答 (1 件)

AKennedy
AKennedy 2024 年 8 月 29 日

0 投票

It looks like you’re encountering edge artifacts in your 3D reconstruction. You can try:
  • Applying a smoothing filter to your data to reduce noise. Gaussian or median filters are commonly used for this purpose.
smoothedData = imgaussfilt(yourData, 2); % Adjust the second parameter as needed
  • Using edge detection algorithms to identify and correct the peaks. Functions like edge and imfill can be helpful.
edges = edge(yourData, 'Sobel');
filledData = imfill(edges, 'holes');
  • Adjusting the threshold parameters in your reconstruction algorithm to minimize the impact of noise.
threshold = 0.5; % Example threshold value
yourData(yourData < threshold) = 0;
  • Ensuring that your moiré pattern setup is correctly calibrated and that there are no errors in data acquisition.
  • Using post-processing techniques to refine the reconstructed surface. Functions like smooth3 can help.
smoothedSurface = smooth3(yourData, 'box', [5 5 5]);

製品

リリース

R2023a

質問済み:

2023 年 6 月 14 日

回答済み:

2024 年 8 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by