【发布时间】:2013-12-11 02:30:31
【问题描述】:
我有一张包含血涂片的图片。我想要做的是检测这些细胞的边缘。
我首先将此彩色图像转换为灰度图像,然后填充这些单元格中的孔。我使用 matlab 中的 edge() 函数来检测边缘。由于您可以观察到某些单元格的内部要轻得多,因此在一个单元格内部可以检测到边缘。结果如下图:
那么有什么方法可以只检测到那些细胞的外边缘吗?
我的代码如下所示:
I = imread('film02_pattern.jpg');
t1=graythresh(I);
k1=im2bw(I,t1);
k1=~k1;
se = strel('disk',1);
k1=imfill(k1,'holes');
imshow(k1);
k1=~k1;
bw = edge(k1,'canny',[],sqrt(2));
figure,imshow(bw);
【问题讨论】:
标签: matlab edge-detection