how to do the distance transform
2 次查看(过去 30 天)
显示 更早的评论
Hi,all.I am processing a image. I need to do the distance transformation.This is my code:
myImage=imread('EarImage_1.tif');
I = rgb2gray(myImage);
whitePart = I > 220;
blackPart = I < 110;
imshow(whitePart);
I2=1-blackPart;
figure,imshow(I2);
D=bwdist(I2);
figure,imshow(~D);
This is my original picture:
After this process,I got an image just the same as "I2",which is the binary image before. I didn't get the picture as expected. I am a beginner of matlab. If anyone could tell me the solution of that, I would appreciate very much.
Thank you.
1 个评论
Walter Roberson
2011-12-12
http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers
采纳的回答
Sean de Wolski
2011-12-12
showing ~D means that only distances equal to zero (i.e. points that are true in I2) will be shown. D is an array of doubles.
imshow(D,[]);
will show you the distance xform image with the full range of values. Good job getting to where you are, +1.
2 个评论
Sean de Wolski
2011-12-13
We need to see your image. Post it somewhere, perhaps to one of the websites in Walter's comment link and paste the url into your original question.
更多回答(1 个)
Walter Roberson
2011-12-12
Do not subtract blackPart from 1 if you want to see white pixels for the locations selected by blackPart.
1-(I<110) is the same as (I>=110) which could look very similar to (I>220) that you are already plotting. All of the (I>220) would be included within the (I>=110)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!