要求对下图的红细胞进行边缘检测,得到单像素点的八连通边缘
我先做了灰度拉伸,将范围在[50,150]的灰度值拉伸到[30,250]之间,意外的发现可以将背景和边缘的灰度值分离,然后选择[35,115]范围内的像素点置为255,其余为0.初步得到边缘,如下图。
此时边缘具有一定的厚度,并且有些地方的边缘断开了,所以先做了闭运算,把一部分边缘连起来。并且做了skel运算,在视觉上看边缘已经是很细的了,但是之后做canny边缘检测还是出现了双边缘。
进行fill运算,将中间的红细胞的内部填满,这样可以避免内部的红细胞出现双边缘。
做canny边缘检测得到最后的结果,周围红细胞出现双边缘。如果能把周围的红细胞也像上一步一样填充满应该会好很多,但是不知道怎么实现,如果我收到把图像的边界上加一条白线会不会把整个图在填充的时候全变白了?