在图像分割问题中,图像的灰度值做为一个重要的特征,有助于提取感兴趣的区域。
提出一个问题:
给定一张自然图像,如何在复杂的背景中提取文字,并将文字与图分离?
提取颜色分量有多种方法,本文提供两种思路:
(1) 遍历整个图像,通过阈值法提取某个颜色分量
(2) 调用OPENCV中提供的split()函数,实现颜色通道分离
方法比较:
彩色图像中一共有pow(2.0, 8) * pow(2.0, 8) * pow(2.0, 8)种颜色,用split()函数会提取全局范围内德颜色分量,而阈值法可以自定义阈值,从而实现小范围内的颜色分量提取。
对于本文给出的图像,用阈值法提取文字的效果更好。效果图如下:
本文基于以上方法,分别实现阈值处理和split()函数。具体实现代码如下,且在vs2010测试通过。
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"<