How do i generate an ROI a set distance inwards (concentric) from a detected edge?

1 次查看(过去 30 天)
Hi, Im working with images of biological cells and they often have irregular shapes (fig 1).
I need to make an roi which is a set distance from the edge (which i can easily detect using thresholding) and measure the pixel values inside the generated irregular donut (fig2)
The lazy way is to achieve this would be to use the centroid of the object and just modify the pixel addresses along the edge-to-centroid vector, however due to the irregular shapes there are problem areas where the vector would just go over the edge (fig3)
So, can anyone please suggest a solution to this?
One of the things i thought about right now is to make a moving rectangle along the edge but it would be great if there is simpler/elegant solution that is out there.
Thanks a ton!

回答(1 个)

Image Analyst
Image Analyst 2012-8-2
You can use imdilate() to enlarge your blobs and create larger ROIs that are nearly the same shape as your original blobs.
  2 个评论
gargoyle
gargoyle 2012-8-3
any idea if, and how, i can do this only towards the inside? Because the dilation would be general fattening of the edge and if the cell is close to another cell in field of view then those pixels might also get picked up.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by