热门

最新

红包

立Flag

投票

同城

我的

发布
m0_74880525
m0_74880525
4 年前
truem0_74880525

来个大哥 刚学 但是觉得太深了 不会

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
用大津法处理图像之后为什么只有一半的效果救救孩子主要代码如下 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);
立即登录