otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
来源:互联网 发布:二手货交易软件 编辑:程序博客网 时间:2024/05/15 23:43
otsu算法选择使类间方差最大的灰度值为阈值,具有很好的效果
算法具体描述见otsu论文,或冈萨雷斯著名的数字图像处理那本书
这里给出程序流程:
1、计算直方图并归一化histogram
2、计算图像灰度均值avgValue.
3、计算直方图的零阶w[i]和一级矩u[i]
4、计算并找到最大的类间方差(between-class variance)
variance[i]=(avgValue*w[i]-u[i])*(avgValue*w[i]-u[i])/(w[i]*(1-w[i]))
对应此最大方差的灰度值即为要找的阈值
5、用找到的阈值二值化图像
我在代码中做了一些优化,所以算法描述的某些地方跟程序并不一致
otsu代码,先找阈值,继而二值化
更多情况下我们并不需要对每一帧都是用otsu寻找阈值,于是可以先找到阈值,然后用找到的阈值处理后面的图像。下面这个函数重载了上面的,返回值就是阈值。只做了一点改变
我在手的自动检测中使用这个方法,效果很好。
下面是使用上述两个函数的简单的主程序,可以试运行一下,如果处理视频,要保证第一帧时,手要在图像中。
效果图:
1、肤色cb分量
2、otsu自适应阈值分割效果
3、开运算后效果
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- 转:otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- OpenCV的otsu自适应阈值分割的算法在肤色检测中的应用
- opencv实现c++的otsu自适应阈值分割的算法描述
- OTSU 阈值计算在OpenCV中的实现
- 自适应阈值分割—大津法(OTSU算法)C++实现
- 自适应阈值分割—大津法(OTSU算法)C++实现
- 基于Otsu算法的图像自适应阈值分割
- 自适应阈值分割之otsu算法
- 自适应阈值分割之otsu算法
- 在OpenCV中自适应确定canny算法的分割阈值
- 在OpenCV中自适应确定canny算法的分割阈值
- WEB代码的一些基础知识(三)
- RTEMS文件系统(4):系统调用开发信息(中)
- c++中两个类相互包含引用的相关问题
- java学习之初接触
- 心情
- otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
- ASP.NET中消息队列(MSMQ)初探
- 解决vim打开文件乱码现象
- Java 程序内存分析,深入Java核心Java内存分配原理精讲
- 数据隔离级别
- socket 阻塞与非阻塞 同步与异步(转帖)
- DirectShow音视频同步
- 工程师定级思考
- 生活感悟