图像分割之大津法Otsu

中文网上大津法的介绍很多,但是大多数给出的代码不是最优的而且存在分母为零的问题。

基本概念

        大津法(简称Otsu)由1979年由日本学者大津提出的,是一种自适应阈值确定的方法,相关文献链接。它是根据图像的灰度特性, 将图像分为前景和背景两个部分,当取最佳阈值时,二者之间的方差应该是最大的。论文精华如下。
在这里插入图片描述
        论文中提到是基于Fisher线性判别(FLD)的,在Fisher线性判别式在类间方差(σB)和类内方差(σW)之间建立关系,其中,类间方差(σB)较大,而类内方差(σW)较小。如下图
在这里插入图片描述
所以使σB最大或 σW最小的灰度值k。使σB最大更好些,因为σW计算更复杂些。

示例演示

        网上的实现代码都很相似,主要有两个问题:w作为分母,没有考虑w为零的情况;用了两层for循环,时间复杂度有点大。所以为了解决这些问题,自己实现了一遍,测试数据是经典图片coins。

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

double MyOtsu(const Mat& ima
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值