热门

最新

红包

立Flag

投票

同城

我的

发布
cannibal_23
cannibal_23
4 年前
truecannibal_23

用大津法处理图像之后为什么只有一半的效果救救孩子
主要代码如下

double w0, w1;//背景/目标像素占比
double u0, u1;//目标/背景平均灰度值
double fTempVar = 0;//类间方差
double fMaxVar = 0;//最大类间方差
double fBestValue = 0;//最优阈值
double fTemp0, fTemp1;

for (int k = 0; k < nGrayScale; ++k)
{
w0 = w1 = u0 = u1 = fTempVar = 0;
fTemp0 = fTemp1 = 0;
//前景,背景区分 [0-k][k+1-255]
for (int i = 0; i < nGrayScale; ++i)
{
//如果当前像素值小于阈值k则属于背景,反之属于目标
if (i <= k)
{
//计算背景像素占比
w0 += fPixelPct[i];
//计算当前灰度值发生的概率:灰度值*灰度值发生的概率
fTemp0 += (i * fPixelPct[i]);

}
else
{
//计算背景像素占比
w1 += fPixelPct[i];
fTemp1 += (i * fPixelPct[i]);
}
}
//计算平均灰度值:p0/w0
u0 = fTemp0 / w0;
u1 = fTemp1 / w1;

//计算类内方差
fTempVar = (float)(w0 * w1 * pow((u0 - u1), 2));
if (fTempVar > fMaxVar)
{
fMaxVar = fTempVar;
fBestValue = k;

}
}

threshold(src, dst, fBestValue, 255, THRESH_BINARY);

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
不知道这次会怎么做技术修复,感觉恒指这个图像很难画出来。。怎么做顶背离呢?
立即登录