1、OpenCV 3.1.0 图像处理教程,贾志刚,E-Mail:微博:流浪的鱼-GloomyFish,形态学操作应用-提取水平与垂直线,原理方法实现步骤代码演示,原理方法,图像形态学操作时候,可以通过自定义的结构元素实现结构元素对输入图像一些对象敏感、另外一些对象不敏感,这样就会让敏感的对象改变而不敏感的对象保留输出。通过使用两个最基本的形态学操作 膨胀与腐蚀,使用不同的结构元素实现对输入图像的操作、得到想要的结果。-膨胀,输出的像素值是结构元素覆盖下输入图像的最大像素值-腐蚀,输出的像素值是结构元素覆盖下输入图像的最小像素值,二值图像与灰度图像上的膨胀操作,二值图像与灰度图像上的腐蚀操作,结构
2、元素,上述膨胀与腐蚀过程可以使用任意的结构元素常见的形状:矩形、园、直线、磁盘形状、砖石形状等各种自定义形状。,提取步骤,输入图像彩色图像 imread转换为灰度图像 cvtColor转换为二值图像 adaptiveThreshold定义结构元素开操作(腐蚀+膨胀)提取 水平与垂直线,代码实现-第一步输入彩色图像 imread,转换为灰度图像 cvtColor,转换为二值图像 adaptiveThreshold,adaptiveThreshold(Mat src,/输入的灰度图像Mat dest,/二值图像double maxValue,/二值图像最大值int adaptiveMethod/自
3、适应方法,只能其中之一/ADAPTIVE_THRESH_MEAN_C,ADAPTIVE_THRESH_GAUSSIAN_C int thresholdType,/阈值类型int blockSize,/块大小double C/常量C 可以是正数,0,负数),转换为二值图像 adaptiveThreshold,转换为二值图像 adaptiveThreshold,定义结构元素,一个像素宽的水平线-水平长度 width/30一个像素宽的垂直线 垂直长度 height/30,开操作(腐蚀+膨胀)-检测,后处理,bitwise_not(Mat bin,Mat dst)像素取反操作,255 SrcPixel模糊(blur),代码实现,