智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 745|回复: 2
打印 上一主题 下一主题

大津法二值化求助,

[复制链接]

2

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
59
威望
43
贡献
10
兑换币
12
注册时间
2016-7-6
在线时间
3 小时
毕业学校
幼儿园
跳转到指定楼层
1#
发表于 2016-7-8 16:03:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求出来的阈值总是特别大,而且跳动的特别厉害。代码如下:
void dajin()
{
   gpio_init (PORTA , 16, GPO,LOW);
   int grayscale=256;         //灰度级数
   int jishu[256]={0};
   int pixelSum=80;

   int i,j ;
   int pj[256]={0};
    ;
   for(i=0;i<DATALINE;i+=8)
   {
     for(j=0;j<DATACOUNT;j+=10)
     {
          jishu[ADdata[i][j]]++;
     }
   }
   for(i = 0; i < grayscale; i++)
    {
        pj[i] = (float)jishu[i] / pixelSum;
    }


   for(j=0;j<=grayscale;j++)
   {
     w0= w1= u0tmp= u1tmp= u0= u1= u= g=deltaMax = 0;   //都定义的全局变量
     for(z=0;z<=grayscale;z++)
     {
       if(j<=z)
       {
         w0+=jishu[j];
         u0tmp+=jishu[j]*j;
       }
       else
       {
         w1+=jishu[j];
         u1tmp+=jishu[j]*j;
       }
     }

       u0=u0tmp/w0;
       u1=u1tmp/w1;

       u=(u0tmp+u1tmp)/(w0+w1);
       g = w0 *(u0-u)*(u0-u)+ w1 *(u1-u)*(u1-u) ;
       if(g > deltaMax)
       {
          deltaMax = g;
          threshold = z;
       }

   }

}

回复

使用道具 举报

7

主题

185

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1859

优秀会员奖章活跃会员奖章

威望
876
贡献
623
兑换币
580
注册时间
2015-11-2
在线时间
180 小时
毕业学校
歙县中学
2#
发表于 2016-7-9 10:31:51 | 只看该作者
最后求出的阈值需要通过计算得到你需要的大概阈值,我们是将得到的阈值乘以一个系数。系数根据自己实际情况而定。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1751
威望
888
贡献
581
兑换币
590
注册时间
2014-7-19
在线时间
141 小时
毕业学校
luoli
3#
发表于 2016-7-9 15:25:24 | 只看该作者
可根据边缘边缘跳变来寻找
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-1 05:17 , Processed in 0.039961 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表