智能车制作
标题:
大津法问题
[打印本页]
作者:
wx_o19nT8nV
时间:
2018-1-26 15:13
标题:
大津法问题
不知道怎么自己原理理解错了还是怎么,大津法返回来的阈值是一个定值,程序如下
void get_theos()
{
const uint16 hui_du = 256; //灰度级数
const unsigned long long pixelsum = ROW * COL; //像素总数
double zhifangtu[256]={0}; //直方图数组
double pixelcount[256]={0}; //各个灰度级数的概率
uint16 i=0,j=0,x=0,y=0,t=0;
double p0=0,p1=0,u1=0,u0=0,u00=0,u11=0;
double threshold=0;
double fangcha=0.0,fangchamax=0.0;
for(i=0;i<ROW;i++)
for(j=0;j<COL;j++)
zhifangtu[image[i][j]]++; //算出直方图
/*********测试直方图************/
// for(t=0;t<hui_du;t++)
//SCI_Up_acc_gyr((short) zhifangtu[t],(short) 0);
///uart_putchar(UART2,zhifangtu[t]);
for(x=0;x<hui_du;x++)
{
pixelcount[x]=zhifangtu[x]/pixelsum;
// if((0<pixelcount[x])&&(pixelcount[x]<1))
// y++;
}
for(x=0;x<hui_du;x++)
{
p0=p1=u0=u1=fangcha=u00=u11=0.0;
for(y=0;y<hui_du;y++)
{
if(y<=x)
{
u00+=y*pixelcount[y];
p0+=pixelcount[y];
}
else
{
u11+=y*pixelcount[y];
}
}
p1=1-p0;
u0=u00/p0;
u1=u11/p1;
fangcha=p0*p1*(u0-u1)*(u0-u1);
if(fangcha>fangchamax)
{
fangchamax=fangcha;
threshold=i;
}
}
// SCI_Up_acc_gyr((short) threshold,(short) y);
}
复制代码
作者:
哞哞哞哒
时间:
2018-1-28 20:23
目前我也不太理解大津法
作者:
哞哞哞哒
时间:
2018-1-28 20:24
http://www.doc88.com/p-666157374161.html
我照着敲了一遍,还没用
作者:
wx_o19nT8nV
时间:
2018-1-28 22:38
哞哞哞哒 发表于 2018-1-28 20:24
http://www.doc88.com/p-666157374161.html
我照着敲了一遍,还没用
看这个程序大致框架和思路是没有问题的,你可以试试。好了可以交流下
作者:
哞哞哞哒
时间:
2018-1-30 15:34
返回来的值为0,不知道错哪了,我换了双峰法试了一下,值是会变了,但效果不怎么好。晚上再调试看看错哪了
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2