How do I make 3D sphere for convolution?
이전 댓글 표시
Hi all,
I want to make a 3D sphere where the x, y and z coordinates are being solved in a 3D array, so I can convolute this with a kernel I have. But, I don't seem to both save the coordinates and get the shape right at the same time. I have the following code:
figure;
half=50;
for k=1:100
for j=1:100
for i=1:100
mesh_sphere(i,j,k)=((i-half).^2)+((j-half).^2)+((k-half).^2);
end
end
surf(mesh_sphere(:,:,k));
hold on
end
hold off
After this, I also want to use other shapes that I can test my kernel on, such as a hollow sphere and an ellipsoid. How can I make those and also same them in a 3D array? Thank you in advance!
채택된 답변
추가 답변 (1개)
Image Analyst
2022년 1월 12일
편집: Image Analyst
2022년 1월 13일
SE = strel('sphere',r) % creates a 3-D spherical structuring element whose radius is r pixels.
out = convn(inputImage, SE.Neighborhood);
댓글 수: 3
Matt J
2022년 1월 12일
Possibly you meant,
out = convn(inputImage, SE.Neighborhood);
Rik
2022년 1월 12일
I don't remember this object notation. Admittedly, I haven't used this function in years, but I will look up this function in the release notes to see whether I forgot, or if they changed it.
Image Analyst
2022년 1월 12일
Thanks Matt for the correction.
카테고리
도움말 센터 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

