方法介绍
ITK 中边缘检测方法用到的是 Canny Edge Delection,用于图像中各结构轮廓的提取。
为了取得一个不错的结果,Canny 边缘检测内置封装多中算法,涉及到的算法有用
- 利用高斯模糊来如初图像中的噪点;
- 通过计算像素递归梯度来定位边缘调整;
- 非最大抑去除 suprious 特征;
- 设置阈值最终得到二值化图像;
虽然整个边缘检测的的数据管道流对于用户来说相对比较抽象,但是对这些组分的充分理解,可以调节到比较合适的参数,得到不错的结果
代码实现
实现时用到 itk::CannyEdgeDetectionImageFilter 头文件;在下面这个例子中因为读取是 PNG 格式图片,因此图像读取时用到的数据类型为 unsigned char;
但是 CannyEdgeDetectionImageFilter 处理的图像格式需是 double ,因此在 Filter 处理之前,用 CastImageFilter 把 unsigned char 格式转化为 double;
最后文件写出之前利用 RescaleIntensityImageFilter 将 double 转化为 unsigned char,写出 PNG 图像;
边缘检测时,需要设置三个参数值 &#x