2D data line completion

1 次查看(过去 30 天)
Mihail Petev
Mihail Petev 2016-2-16
Hello there,
So here is the problem I have (picture attached).
As you can see the data can be roughly presented by lines which are not straight but will cover the general behaviour of not too big divination.
What I need to to is to fill the gaps in between them (currently interested in the region with highest intensity (represented in yellow). What I could do is to filter it by intensity at the moment to create something like that:
Which is fantastic as everything apart from the region of interest is 0.
Does anyone however happen to know a clever way of filling the gaps as I said.
Thanks

回答(1 个)

Brattv
Brattv 2016-2-16
编辑:Brattv 2016-2-16
The binary morphology operation called closing might be good enought if everything apart from the ROI is 0. You can try it with the line shaped filter and test different length
% strel('line',line length, line angle)
Morphfilt = strel('line',1000,0);
yourImage = imclose(yourImage,Morphfilt);
  1 个评论
Mihail Petev
Mihail Petev 2016-2-16
Dear Vegard,
This approach does indeed work however it connects the missing spaces using a straight line (which is to be expected)
I am however searching for a sort of shape preserving approach (which is the reason I am thinking it might be a sort of minimilisation problem).
In other words I need to to somehow, to a certain level ,be able to predict that if you zoom in for instance here:
The best option is to lets say go a few pixels to the side and fill each gap in such manner.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by