2016/7/17
在分割图像中,经常会对图像进行差分处理再进行分割,那么对于一个输入的带有导管信息的差分图像(如图所示),该如何分割出导管信息呢,方法是构造灰度密度图像进行分割。具体步骤和实现效果容我慢慢道来。
1、 输入一个差分图像
2、 对该差分图像的每条边界扩充10个像素点,扩充像素点的像素值设置为0;
遍历图像,记灰度最大值为Max。这里我自己写的扩充边界的函数,同时统计灰度最大值。还可以使用函数copyMakeBorder();不过该函数的接口是Mat型的,参数较为复杂。使用IplImage* 图像格式的时候记得转换。
3、 构造一个21*21的模板,从像素点(10,10)开始遍历新图像,统计模板内灰度值大于0.5*Max的像素点的数目,将其转化为(0-255)之间,构造灰度密度图像。
4、 对灰度密度图像进行二维Otsu阈值分割,得到分割后的导管图像。
源码如下:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;