OpenCV_基于局部自适应阈值的图像二值化
2013-01-18 00:02
218 查看
在图像处理应用中二值化操作是一个很常用的处理方式,例如零器件图片的处理、文本图片和验证码图片中字符的提取、车牌识别中的字符分割,以及视频图像中的运动目标检测中的前景分割,等等。
较为常用的图像二值化方法有:1)全局固定阈值;2)局部自适应阈值;3)OTSU等。
全局固定阈值很容易理解,就是对整幅图像都是用一个统一的阈值来进行二值化;
局部自适应阈值则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处在于每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值。常用的局部自适应阈值有:1)局部邻域块的均值;2)局部邻域块的高斯加权和。
OpenCV中实现了以上几种二值化方法。
下面这段代码对比了全局固定阈值与局部自适应阈值的二值化结果。
原图:
全局固定阈值二值化结果(T = 100)
局部自适应阈值二值化结果(块大小 = 25)
相关内容:www.icvpr.com
-------------------------------------------------------
< 转载请注明:http://blog.csdn.net/icvpr >
较为常用的图像二值化方法有:1)全局固定阈值;2)局部自适应阈值;3)OTSU等。
全局固定阈值很容易理解,就是对整幅图像都是用一个统一的阈值来进行二值化;
局部自适应阈值则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处在于每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值。常用的局部自适应阈值有:1)局部邻域块的均值;2)局部邻域块的高斯加权和。
OpenCV中实现了以上几种二值化方法。
下面这段代码对比了全局固定阈值与局部自适应阈值的二值化结果。
// 基于局部自适应阈值的图像二值化 // Author:www.icvpr.com // Blog: http://blog.csdn.net/icvpr #include <iostream> #include <opencv2/opencv.hpp> int main(int argc, char** argv) { cv::Mat image = cv::imread("../test.bmp", CV_LOAD_IMAGE_GRAYSCALE); if (image.empty()) { std::cout<<"read image failure"<<std::endl; return -1; } // 全局二值化 int th = 100; cv::Mat global; cv::threshold(image, global, th, 255, CV_THRESH_BINARY_INV); // 局部二值化 int blockSize = 25; int constValue = 10; cv::Mat local; cv::adaptiveThreshold(image, local, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY_INV, blockSize, constValue); cv::imwrite("global.jpg", global); cv::imwrite("local.jpg", local); cv::imshow("globalThreshold", global); cv::imshow("localThreshold", local); cv::waitKey(0); return 0; }
原图:
全局固定阈值二值化结果(T = 100)
局部自适应阈值二值化结果(块大小 = 25)
相关内容:www.icvpr.com
-------------------------------------------------------
< 转载请注明:http://blog.csdn.net/icvpr >
相关文章推荐
- OpenCV基于局部自适应阈值的图像二值化
- OpenCV_基于局部自适应阈值的图像二值化
- OpenCV基于局部自适应阈值的图像二值化
- 基于opencv的一种局部自适应快速二值化方法(积分法)
- python-opencv 图像二值化,自适应阈值处理
- 基于局部占优的自适应加权平均融合算法
- 图像二值化: 局部阈值值化 - Niblack's method
- 一种改进的OPenCV局部 自适应快速二值化
- opencv 学习之 阈值化<2> 自适应阈值
- 基于opencv的阈值分割
- OpenCV实现局部动态阈值分割
- OTSU方法计算图像二值化的自适应阈值
- opencv学习——自适应阈值二值化
- OpenCV_基于自适应背景更新的运动目标检测
- 基于Otsu算法的图像自适应阈值切割
- OTSU方法计算图像二值化的自适应阈值
- Opencv图像识别从零到精通(15)-----阈值分割、固定阈值Threshold、自适应阈值分割adaptiveThreshold、OSTU大津法
- 图像处理基础(2):自适应中值滤波器(基于OpenCV实现)
- OpenCv,局部自适应图像增强(Local Adaptive Contrast Enhancement)
- OTSU方法计算图像二值化的自适应阈值