image processing using Matlab
2 次查看(过去 30 天)
显示 更早的评论
Hi
I have the following result of segmentation
How can I improve the results?
1) I want to improve the appearance to get the vessels more smooth.
2) I want to extract the oval-like part of the vessels in the middle of the image.
Any suggestions?
*****************
Here is a link to the image
https://copy.com/GT6n8EF82BKw
0 个评论
采纳的回答
Evan
2014-7-31
编辑:Evan
2014-7-31
For your first question:
Is this strictly for appearances? If so, does medfilt2 do what you want?
rawImg = rgb2gray(imread('seg_vessel.jpg'));
nbhd = [2 2]; %play around with neighborhood size to get the smoothness you want
smoothedImg = medfilt2(rawImg,nbhd);
figure;imagesc(rawImg); colormap(gray)
figure;imagesc(smoothedImg); colormap(gray)
更多回答(2 个)
SRI
2014-7-31
inputImage = imread('seg_vessel.tif');
grayImage = rgb2gray(inputImage);
binaryImage = im2bw(grayImage,level);
[B,W,D,T] = bwboundaries(binaryImage);
imshow(W)
Hi Kindly Look into the code, this might be the result which you had expected
0 个评论
SRI
2014-7-31
inputImage = imread('seg_vessel.tif');
grayImage = rgb2gray(inputImage);
level = graythresh(grayImage);
binaryImage = im2bw(grayImage,level);
[B,W,D,T] = bwboundaries(binaryImage);
imshow(W)
Sorry Use this one
3 个评论
Image Analyst
2014-8-1
You can use imopen() to snip off pointy parts or use imclose() to blur out the boundary.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!