智能车制作
标题:
大津法二值化求助,
[打印本页]
作者:
快快快冲冲冲
时间:
2016-7-8 16:03
标题:
大津法二值化求助,
求出来的阈值总是特别大,而且跳动的特别厉害。代码如下:
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;
}
}
}
作者:
开心果小文
时间:
2016-7-9 10:31
最后求出的阈值需要通过计算得到你需要的大概阈值,我们是将得到的阈值乘以一个系数。系数根据自己实际情况而定。
作者:
yaowang107
时间:
2016-7-9 15:25
可根据边缘边缘跳变来寻找
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2